读书人

如何解决undeclared identifier

发布时间: 2013-04-20 19:43:01 作者: rapoo

怎么解决undeclared identifier ?
#include "math.h"
void main()
{ int m, i, k, h=0, leap=1;
printf( "\n" );
for (m = 101;m <= 200; m++)
{ k = sqrt(m + 1);
for (i = 2; i <= k; i++)
if (m % i == 0)
{ leap = 0;
break ;
}
if (leap)
{ printf( "%-4d" , m);
h++;
if (h%10==0)
printf( "\n" );
}
leap=1;
}
printf( "\nThe total is %d" , h);
}
error C2065: 'printf' : undeclared identifier
warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
执行 cl.exe 时出错.
这是什么情况,求助。。。 math.h
[解决办法]
一开始的#include<stdio.h>没了

[解决办法]
你可以把函数分为两类,一种是你自己写的,一种是库函数。printf()函数就是库函数,为了调用这种函数,需要把相应的头文件包含进来。比如 printf( ) 函数,它的头文件是 stdio.h,再比如 sin( )、cos( ) 等数学函数,它们的头文件是 math.h 。
在你所提供的程序里面,为了调用sqrt()函数,已经 include了它的头文件 math.h。
现在为了调用printf()函数,就需要前面加一句 #include<stdio.h>。
详见 www.birduu.com/410.html
[解决办法]
sqrt()函数的返回值类型是double,你定义的k是int型的,所以会有错误。
[解决办法]

引用:
你可以把函数分为两类,一种是你自己写的,一种是库函数。printf()函数就是库函数,为了调用这种函数,需要把相应的头文件包含进来。比如 printf( ) 函数,它的头文件是 stdio.h,再比如 sin( )、cos( ) 等数学函数,它们的头文件是 math.h 。
在你所提供的程序里面,为了调用sqrt()函数,已经 include了它的头文件 math.h。
现在为了调用prin……

3楼正解,解释的很详细,
一个是你引入头文件的格式
再个就是一些标准库头文件一开始就没有写
#include<stdio.h>是任何程序都要加入的头文件,基本的输入输出嘛
[解决办法]
引用:
一开始的#include<stdio.h>没了

++
[解决办法]
引用:
sqrt()函数的返回值类型是double,你定义的k是int型的,所以会有错误。


所以会有 warnning
[解决办法]
引用:
引用:一开始的#include<stdio.h>没了
++


++
[解决办法]
引用:
引用:sqrt()函数的返回值类型是double,你定义的k是int型的,所以会有错误。

所以会有 warnning

++

读书人网 >C语言

热点推荐