会计考友 发表于 2012-8-2 08:51:15

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-2 08:51:16

2012年软件水平初级资格程序员考试重点知识8

   if(i
   printf(“%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]
查看完整版本: 2012年软件水平初级资格程序员考试重点知识8