2012年软件水平初级资格程序员考试重点知识8
2、if,for,while的判断后直接跟;例如:
#include
int main(void)
{
int a;
scanf(“%d”,&a);
if (a == 123);////错误,if(a == 123)后面不应加上;,而应该紧跟着
////{ printf();}代码
{
printf(“ccc”);
}
else
{
printf(“ddd”);
}
getchar();
return 0;
}
#include
int main(void)
{
int n,i;
printf(“please input a number>2:”);
scanf(“%d”,&n);
for(i=2;i
{
if(n%i==0)
break; }
2012年软件水平初级资格程序员考试重点知识8
if(iprintf(“%d not a sushu\n”,n);
else
printf(“%d is a sushu\n”,n);
return 0;
}
解析&解决方案:见注释
3、漏头文件,main函数格式不规范。
例如:
main()
{
int a;
scanf(“%d”,&a);
printf(“input %d”, a);
}
解析:这段程序没有带上头文件stdio.h。即漏写了#include 。如果仅有scanf,printf函数的话,stdio.h是可以省略并可以正确运行的,但是这是非常不好的习惯。而main()这种写法,C89标准勉强充许这种形式,C99标准是不允许的。而void main(),至今仍未有任何标准考虑接受它。但是有些编译器的确允许。当然,这种写法广为流行,应该和老谭的书关系非常大。
解决方案:用到的头文件应该用include包含进去。main()函数应该写成int main(void)这种形式,在main()函数尾部加上return 0;即
#include
int main(void)
{
int a;
scanf(“%d”,&a);
printf(“input %d”, a);
return 0; }
页:
[1]