background image

语言中的常见错误

1、 基本概念类

1.

变量不定义或定义的类型不符合需要(

整形与长整形 ..等)

2. 变量定义与使用的大小写字母不一致。
3. 变量说明语句出现在执行语句之后(没有复合语句时)。
4. 语句缺少分号。

5.

为常量或表达式赋值(a 为数组名,程序中出现 a++)

6.

将 2*a 表示成 2a

7. 变量名与函数重名。

8.

区别:int a,b,c;      

与 int a ;  int b;  int  c;     

和 int a ,  int b,  int c;

2、 基本输入输出类

1. scanf(“%d”,  &a)中不加取址符
2. 

 

数组 int a[10] :循环 scanf(“%d”, &a[ i ])    错误写成: &a,  a[ i ]

 

, a[10] 

,&a[10]
3. 字符数组 char  c[80]  

 

: gets (c[10]),  gets(c[ i ]), put s[c[10],  puts(c[ i ])

4. 输入内容与格式统一:scanf(“a=%d, b=%d”,&a,&b); 注意逗号和 a=…..
5. 输入与输出语句中的格式符与变量的对应(类型相同,个数相等,一一对
应)
6. 字符数组%s  

 

字符变量 %c 

7. 整形数组不可以用数组名整体操作所有的元素。
8. gets,puts 等函数一次操作一个字符串。
9.  

   

字 符 串 比 较 与 字 符 比 较 大 小 :

char     str1[   20],str2[20]     ; 

if( strcmp(str1,str2)==0)

 

不可写成: strcmp(str1[20],str2[20])…..或:strcmp(str1[ i ],str2[ i ])
10. 正确输入数据,当 scanf(“ %d%c%s%d”,&a,&c,str,%b) ; 如何终止一个数据。
用回车?用空格?
3、 函数调用类

1.

  

函数的形参说明方式 ,

 

不可写成 fun( int a,  b),  fun( int a ; int b)

2. 形参与实参类型相同,一一对应

3.

  

函数中无返回值,但程序中出现 c=fun( a , b ); 

4. 函数类型不一致。
5.

 

函数的参数(有参?无参)和 返回值是否一一对应???

6. 用调用功能函数,变量做参数交换数据(可以指针做参数,或数组名)
7. 函数内部的变量与形参同名
4、 指针类
0

 

. 指针不初始化,但引用指针。

1.

混淆*p,  p,  ++p, *++p, &p 等。

2.

指针移动后,如果再次使用,注意重新赋值(指针实验一中的题)

3. 用指针交换数据,中间变量是指针?还是基本变量?如果是交换字符串,