undeclared identifier怎么解决

#include"stdio.h"
void main()
{long int m;
for (m=11;m<1000;m++)
if (fun(m)&&fun(m*m)&&fun(m*m*m))
printf("m=%ld,\t m*m=%ld,\t m*m*m=%ld\n",
m,m*m,m*m*m);
}
int fun (long n)
{long i,m;
i=n;m=0;
while(i){m=m*10+i%10;i/=10;}
if (m==n)return 1;
else return 0;
}

--------------------Configuration: eqweqw - Win32 Debug--------------------
Compiling...
qwe.cpp
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\eqweqw\qwe.cpp(6) : error C2065: 'fun' : undeclared identifier
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\eqweqw\qwe.cpp(11) : error C2373: 'fun' : redefinition; different type modifiers
执行 cl.exe 时出错.

应该是你的数据类型没有定义,除了语言本身的那些数据类型,其他的类型需要自己定义。debug一下,看出错的地方,查找一下那个无法识别的类型,有可能是你在其他类中定义了这种类型,没有把那个类include进来。

你也可以把函数分为两类,一种是你自己写的,一种是库函数。printf()函数就是库函数,为了调用这种函数,需要把相应的头文件包含进来。比如 printf( ) 函数,它的头文件是 stdio.h,再比如 sin( )、cos( ) 等数学函数,它们的头文件是 math.h 。

在你所提供的程序里面,为了调用sqrt()函数,已经 include了它的头文件  math.h。现在为了调用printf()函数,就需要前面加一句 #include<stdio.h>

温馨提示:答案为网友推荐,仅供参考
相似回答