精华内容
下载资源
问答
  • 设好的程序出错warning C4047: 求大神指导#includemain(){intn_name;printf("请输入你的名字");scanf("%d",&n_name);if(strcmp(n_name)=="······")printf("······················...

    设好的程序出错warning C4047: 求大神指导

    #include

    main()

    {

    int n_name;

    printf("请输入你的名字");

    scanf("%d",&n_name);

    if(strcmp(n_name)=="······")

    printf("·····································\n");

    printf("          **            **\n");

    printf("         ****          ****\n");

    printf("        ******        ******\n");

    printf("       ********      ********\n");

    printf("      **********    **********\n");

    printf("     **************************\n");

    printf("    ****************************\n");

    printf("     ***************************\n");

    printf("      *************************\n");

    printf("       ***********************\n");

    printf("        *********************\n");

    printf("         *******************\n");

    printf("          *****************\n");

    printf("           ***************\n");

    printf("            *************\n");

    printf("             ***********\n");

    printf("              *********\n");

    printf("               *******\n");

    printf("                *****\n");

    printf("                 ***\n");

    printf("                  *\n");

    printf("          ···········\n ");

    printf("··········\n");

    else if(strcmp(n_name)!="·····")

    printf("对不起,这个程序不是给你的噢!!");

    getchar();

    }

    我想编个程序给女朋友  我是新手,我想让女朋友在程序中输入她的名字后会弹出设好的爱心,可是如果输入的名字不是她的名字就弹出另外一段话,上面是我编好的程序,可是弹出错误warning C4047: '!=' : 'int ' differs in levels of indirection from 'char [7]'

    求大家解决

    ------解决思路----------------------

    同楼上

    另外strcmp是用来比较字符串是否相等的

    if(strcmp(n_name,"······") == 0)

    ------解决思路----------------------

    可以用的  只不过你需要的是名字 应该是字符串类型的数据   而你却定义的int型数据

    改为楼上所说的:

    char n_name[10];

    printf("请输入你的名字");

    scanf("%s",n_name);

    if(strcmp(n_name,"······") == 0)

    {

    // do something

    }

    ------解决思路----------------------

    小伙子,好样滴。好好爱她。

    #include 

    #include 

    void main()

    {

    char n_name[256] = {0};

    printf("请输入你的名字:");

    scanf("%s",&n_name);

    if(strcmp(n_name, "张三") == 0)

    {

    printf("·····································\n");

    printf("          **            **\n");

    printf("         ****          ****\n");

    printf("        ******        ******\n");

    printf("       ********      ********\n");

    printf("      **********    **********\n");

    printf("     **************************\n");

    printf("    ****************************\n");

    printf("     ***************************\n");

    printf("      *************************\n");

    printf("       ***********************\n");

    printf("        *********************\n");

    printf("         *******************\n");

    printf("          *****************\n");

    printf("           ***************\n");

    printf("            *************\n");

    printf("             ***********\n");

    printf("              *********\n");

    展开全文
  • 错误提示:比较字符的条件语句提示:warning C4047: “#include "stdio.h"//VX:桔子code; juzicode.comint main(void){char ch;printf("请输入字符:");scanf(" %c", &ch);if (ch"Z") {printf("输入的不是大写...

    错误提示:

    比较字符的条件语句提示:warning C4047: “

    #include "stdio.h"

    //VX:桔子code; juzicode.com

    int main(void)

    {

    char ch;

    printf("请输入字符:");

    scanf(" %c", &ch);

    if (ch"Z") {

    printf("输入的不是大写字符\n");

    }

    return 0;

    }

    5181bf41d8967f9c8be080aa394f9081.png

    输入大写字母X,却提示不是大写字母:

    69f8e4e1b48d1e5a73fdeeb441c5685a.png

    错误原因:

    1、定义的ch为char字符型变量,但是在if语句里面,ch是和包含了单个字符A和单个字符Z的字符串做比较,所以编译有告警,运行结果不正确。

    解决方法:

    1、修改比较语句,使用单引号包含的字符A和Z:

    #include "stdio.h"

    //VX:桔子code; juzicode.com

    int main(void)

    {

    char ch;

    printf("请输入字符:");

    scanf(" %c", &ch);

    //if (ch"Z") {

    if (ch'Z') {

    printf("输入的不是大写字符\n");

    }

    return 0;

    }

    d17017535753d8e9f89d43448e769ecd.png

    关注微信公众号:“桔子code”,欢迎后台留言撩我,我会尽我所能为你解惑

    展开全文
  • 程序错误warningC4047:'function':'char*'differsinlevelsofindirectionfrom'char'0Mr.HyukHae2014.12.20浏览660次分享举报#include"stdio.h" /*引用库函数*/#include"stdlib.h"#include"ctype.h"#incl...

    程序错误warning C4047: 'function' : 'char *' differs in levels of indirection from 'char '0

    dcebd7a0de6265b6ccae5ead692f1eab.pngMr.HyukHae2014.12.20浏览660次分享举报

    #include"stdio.h" /*引用库函数*/

    #include"stdlib.h"

    #include"ctype.h"

    #include"string.h"

    #define NULL 0

    typedef struct student{

    char num[11];

    char name[20];

    char sex[20];

    char age[3];

    char home[20];

    struct student *next;

    } student,*stulist;

    void Numsort(stulist *h,int n) /*按学号排序*/

    {

    int i,j;

    stulist p,q;

    char t;

    p=(*h)->next;q=p->next;

    for(i=0;i

    for(j=0;j

    if(strcmp(p->num,q->num)>0)

    {

    strcpy(t,q->num); //错误指在这一行

    strcpy(q->num,p->num);

    strcpy(p->num,t);

    strcpy(t,q->name);

    strcpy(q->name,p->name);

    strcpy(p->nume,t);

    strcpy(t,q->sex);

    strcpy(q->sex,p->sex);

    strcpy(p->sex,t);

    strcpy(q->age,p->age);

    strcpy(p->age,t);

    strcpy(q->home,p->home);

    strcpy(p->home,t);

    p=q;q=q->next;

    }

    }

    main()

    {

    stulist l;

    int flag=1; char ch;

    InitList(&l);

    while (flag)

    { menu();

    ch=getchar();

    switch (ch) {

    case '1': Input(&l); //增加记录

    system("pause");

    break;

    case '3': Numsort(l); //按学号排序

    system("pause");

    }

    system("cls");

    }

    }

    求帮忙,找了一个小时的错了TAT。还有初始化空表和输入数据因为字数限制没发

    展开全文
  • 显示: warning: 'MY_DEBUG' redefined warning: this is the location of the previous definition 警告原因: 连续出现这种两个警告,可能的一种情况是,你在你的.c文件中包含了两个.h 文件,而这两个.h文件都对MY...

    当编译程序发现程序中某个地方有疑问,可能有问题时就会给出一个警告信息。警告信息可能意味着程序中隐含的大错误,也可能确实没有问题。对于警告的正确处理方式应该是:尽可能地消除之。对于编译程序给出的每个警告都应该仔细分析,看看是否真的有问题。只有那些确实无问题的警告才能放下不管。

    说明:

    由于编译的警告各种各样,根本不可以一一罗列出来,下面只是列举出比较典型的一些警告,还有一些警告,大家只要根据字面意思,就可以很快的查找出来,并解决之。

    类型1:

    显示:warning: implicit declaration of function 'Example()'。

    警告原因:

    在你的.c文件中调用了函数Example(),可是你并没有把声明这个函数的相应的.h文件包含进来。

    有可能你在一个.c文件中定义了这个函数体,但并没有在.h中进行声明。

    解决方法:

    你可以在调用这种函数的.c文件的一开始处加上:extern Example();

    你可以在调用这种函数的.c文件中包含进声明了函数Example()的头文件。

    如果你在一个.c文件中定义了这个函数体,但并没有在.h中进行声明,不嫌麻烦的话,你也可以去生成一个.h文件,加上你的函数声明。

    类似的警告:

    warning: type mismatch with previous implicit declaration

    warning: type mismatch with previous implicit declaration

    warning: previous implicit declaration of 'Example()'

    类型2:

    显示:warning: unused variable 'param'。

    警告原因:很明显,是您定义了变量‘param',却根本没有使用它。

    解决方法:不需要用的话,就删了它吧。

    类型3:

    显示:warning: statement with no effect。

    警告原因:可能的情况是,在你的文件中,你这么干#define MACROPRINT

    然后在某一处又定义了#define MACROPRINT printf。然后你在各处引用

    MACROPRINT(“HELLO”),这样不会出错,但是发生了警告“这个声明是没有用的”。

    解决方法:把#define MACROPRINT删掉。

    类型4:

    显示:warning: int format, long int arg (arg 3)

    警告原因: 象这样printf("%s%d, szDebugString, ulGwId);你的ulGwId是一个unsigned long型的,而你为它选择的输出形式却是 “%d”(这个格式是为整数型服务的-int)。

    解决方法: 这样的错误你只要做到参数类型一致就可以了,象上面的现象,你只要把“%d”改成“%d”就可以了。

    类似警告:warning:comparison between pointer and integer

    类型5:

    显示:warning: comparison is always 0 due to limited range of data type

    警告原因:有可能你定义了unsigned int uParam;但是你去做了if(uparam=0的,因此这样的比较由于数据类型限制了它的范围,因此也就给出了警告。

    解决方法:可以去掉这样的判断。

    类型6:

    显示:warning: control reaches end of non-void function

    警告原因: 出现这样的警告,有可能是你写了一个

    unsigned long FuncA()

    {

    if()

    {

    return ulValue;

    }

    if()

    {

    return ulValue;

    }

    }

    这样的函数,可能在两个if语句中,你都没有进入,这时,退出函数之前,你就根本没有值可以返回。

    解决办法: 如果一个函数有返回值,确保在任何情况下该函数都有一个返回值。

    类似警告: warning :'return' with no value, in function returning non-void

    类型7:

    显示:warning: overflow in implicit constant conversion

    警告原因:变量的变换有可能导致数值的越界。

    #define RET_PRODUCTID 0x10000000

    #define ERR_RET_GLOBAL RET_PRODUCTID+5000

    #define RET_USER ERR_RET_GLOBAL+5000

    #define USER_OK RET_USER+0

    #define USER_FAIL RET_USER+1

    如果这样定义,碰到short Func(){return USER_OK},就会警告有出现越界。

    解决办法:确定好值的范围。

    类型8:

    显示:warning: 'ulParam' might be used uninitialized in this function

    警告原因: 当ulParam做为表达式的右值时,而在此之前,你又没有对这个参数进行初始化。

    例如:

    void Func()

    {

    ulong ulParam;

    ulong ulRetCode;

    if(…)

    {

    ulParam = ……;

    }

    if(….)

    {

    ulParam = ……;

    }

    ulRetCode = ulParam;

    }

    在这种情况下,当两个if()都执行不到的时候,ulParam根本没有被赋值过,这样又去给ulRetCode赋值,就比较危险了。

    解决办法: 多留个神,细心一点就可以了。

    类型9:

    显示: warning: passing arg 1 of 'free' makes pointer from integer without a cast

    警告原因: 你free(a),但a是一个unsigned long,你可能把一个指针的数值放在了a里面了。

    解决办法: 在free(a)时,需要强制转换a为指针类型的即可。即:free((char*)a)。

    类似警告:warning: assignment from incompatible pointer type

    warning: initialization from incompatible pointer type

    warning:passing arg 2 of 'AOS_MemCopy_X' makes pointer from integer without a cast

    类型10:

    显示: warning: 'MY_DEBUG' redefined

    warning: this is the location of the previous definition

    警告原因: 连续出现这种两个警告,可能的一种情况是,你在你的.c文件中包含了两个.h

    文件,而这两个.h文件都对MY_DEBUG进行了声明。

    解决办法:只在一个文件中声明这种东东。

    类型11:

    显示:warning: value computed is not used

    警告原因:参与运算的值是没有作用的。比如你这样干:

    char* p;

    *p++;

    这样对p根本一点影响也没有。

    解决方法:请确定究竟要进行什么运算。

    类型12:

    显示:warning: '#ifdef' argument starts with a digit

    警告原因:出现了#ifdef 0这样的错误

    解决方法:应该是#if 0 吧

    类型13:

    显示:warning: unknown escape sequence 'R'

    警告原因:编译器不认识‘R'。

    解决方法:一时笔误,应该是‘r'。

    类型14:

    显示:warning:too few arguments for format

    警告原因:你有可能这样干了:printf(“%d%s”,uParam);

    解决方法:把要的留下,不要的去掉。

    类型15:

    显示:warning: ‘Func' defined but not used

    警告原因:Func 函数你定义了,但是你根本没有使用它。

    解决方法:不要的就去掉。

    类型16:

    显示:warning: suggest parentheses around && within ||

    警告原因:有人这么用了

    if(( *p >= 'a' ) && ( *p = 'A' ) && ( *p = '0' ) && ( *p = 'a' ) && ( *p = 'A' ) && ( *p = '0' ) && ( *p

    展开全文
  • #error、#warning、#line也是常用的调试利器 #error 打印自定义的错误信息 #warning 打印自定义的警告信息 #line 设置文件和行号 二、用法 #error 要打印的信息 (不需要引号) #warning 要打印自定义的警告信息(不...
  • 调试C程序,报错:warning C4047: '=': 'CHAR16' differs in levels of indirection from 'char [2]' 代码如下: CHAR16 StrBuffer[3] = {0}; ... StrBuffer[0] = Key.UnicodeChar; StrBuffer[1] = '\n'; ...
  • printf("%c",ch); } fclose(fp); } } void encryption(FILE *str2) { FILE *fp; char ch[30]; char fch; char str; int l; printf("Enter the file name you want to save!\n"); printf("Give a ...
  • 近日遇见一个bug,最后调查是程序的warning引起的: 编译的时候报警告: assignment makes pointer from integer without a cast 出现这个警告的原因是在使用函数之前没有对函数进行声明,未经声明的函数原型一律...
  • 1. warning: function declaration isn't a prototype示例:int function() 改为 int function(void)2. multiple definition of " "慢慢的自己写的代码 ,有很多了,自己总是加入一些新的东西,并一点点地完善着它,...
  • } 编译之后出现如下警告 warning C4047: 'initializing' : 'char ** ' differs in levels of indirection from 'char [6]' warning C4047: 'function' : 'char *' differs in levels of indirection from 'char ** ...
  • 在调用之前声明函数,不定义即可
  • 可能提示的代码段没有问题,但是代码段在无限循环后面,程序不可能运行到这一步,因此要将它放在无限循环前(其他原因同理)。
  • 最近使用Boost库做多线程开发,可视在vs中编译工程师总是遇到Macro ...c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(116): warning C4005: 'INT8_C' : macro redefinition1> ...
  • 展开全部指针类型的赋值。不同的编译器,e68a843231313335323631343130323136353331333431356566对于不同类型间的指针变量进行赋值的编译检查是不一样的,有的报警告,有的报错误...printf("%c\n",*p);//输出hreturn...
  • }补充:compiling Text1.c...TEXT1.C(29): warning C206: 'While': missing function-prototypeTEXT1.C(29): error C267: 'While': requires ANSI-style prototypeTEXT1.C(30): error C141: syntax error near '{'...
  • After reading all answers and comments on this page I don't see these yet another options to avoid the warning:When compiling with gcc you can add to your command line:gcc -Wall -Wextra -Wno-unused-re...
  • 忘记写#include<stdlib.h>了
  • 1."WARNING:Route:455 - CLK Net:trn_clk_OBUF may have excessive skew&nBSP;because 0 CLK pins and 1 NON_CLK pins failed to route using a CLKtemplate."SolutionThis message informs the user that some ...
  • 在VS编译器中经常会出现warning C4996警告问题,如: warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_...
  • 用数组编的多项式乘法,但是不会合并同类项从同学那参考了合并的方法,但是有错误比较着急!!下面是程序#include#define N 100void ...int c[N]={0};for(i=0;i<=a;i++)for(j=0;j<=b;j++)c[i+j]+=a[i]*b[j];p...
  • 转载地址:http://blog.163.com/liuruigong_lrg/blog/static/27370306201001765523619/方法1: 选择项目->属性->预处理器->预处理定义,增加:HYCOMMONWINAPI_EXPORTS方法2:就是在#ifdef HYCOMMONWINAPI_...
  • C51编译警告“--- WARNING L1: UNRESOLVED EXTERNAL SYMBOL” ----WARNING L1:UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START MODULE: .STARTUP.obj (?C_STARTUP) ----WARNING L2:REFERENCE MADE TO UNRESOLVED...
  • C语言被调函数中使用malloc 今天在做题中碰到了如下情况 在字符串拷贝的被调函数中使用数组声明内存时 return后出现如下warning: warning: address of stack memory associated with local variable 'str' returned ...
  • 删除for init; comparison; increment {}并删除++和--轻松。并使用Swift的漂亮for-in循环//WARNING:C-styleforstatementisdeprecatedandwillberemovedinafutureversionofSwiftforvari=1;i<=10;i+=1{pri...
  • mysql 1 warning

    2021-01-27 04:52:35
    结构化控制语言 C.结构化查询语言 D.结构化操纵语言 二、填空题 1、MySQL 数据库所支持的 SQL 语言主要包含___、___、___和 MySQL ......2.在 MySQL 中,可以使用___语句或___语句删除表中的一行或多行数据。 3.在 ...
  • uint8_t test = 0; uint8_t counter = 0; test = (counter++ * 2) + ...以上代码IAR编译器会给出如下警告:Warning[Pa079]: undefined behavior: variable “counter” (declared at line 82) (or a value r..
  • 忘记写#include<string.h>了,大意了

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 371,849
精华内容 148,739
关键字:

c4047warning