if(i
9 Y' {$ r) Q0 e3 z& z5 Z! h7 g printf(“%d not a sushu\n”,n);
: O( i- F1 O( K+ x' e/ o9 g else 9 `, a" S2 ]2 ?5 N5 ^1 D9 k# g. g
printf(“%d is a sushu\n”,n); 2 p5 h" C3 ]4 k1 D) ?% t0 u8 J
return 0;
6 Q5 j D( p' ~2 p8 r3 p } 5 S P4 O2 o: Y
解析&解决方案:见注释 3 A, Y# t9 @" C
3、漏头文件,main函数格式不规范。 ( ~! z7 J1 K. W
例如:
# Q( {& W, t1 n! d: `+ z5 Y' a$ D" v main() & l+ {' D, Q, v4 _8 z
{
) V$ ]' ?6 _" u int a;
. t2 s" A$ J6 D$ D scanf(“%d”,&a);
) m$ l; d/ ~$ w! h printf(“input %d”, a); 4 d: Y# f# B" G/ l/ M9 Q
} % x0 a% ]. p4 l. T4 U
解析:这段程序没有带上头文件stdio.h。即漏写了#include 。如果仅有scanf,printf函数的话,stdio.h是可以省略并可以正确运行的,但是这是非常不好的习惯。而main()这种写法,C89标准勉强充许这种形式,C99标准是不允许的。而void main(),至今仍未有任何标准考虑接受它。但是有些编译器的确允许。当然,这种写法广为流行,应该和老谭的书关系非常大。
' A: W! d: V% b- [8 v7 y% d+ ] 解决方案:用到的头文件应该用include包含进去。main()函数应该写成int main(void)这种形式,在main()函数尾部加上return 0;即 $ w" c2 |/ ]9 o+ V& u, ?
#include ! v& z2 F6 { S3 I' }
int main(void)
; ?1 P2 d- b' r- ?( X' H { & H+ H! l1 X" x# m
int a;
1 K' g/ f8 l0 M0 r( u7 H; T- a scanf(“%d”,&a); " f/ Z, b" S( d; U1 _, C" x) y
printf(“input %d”, a);
- q$ Q; q" J1 S* r return 0; } |