C 语言中的常见错误
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. 用指针交换数据,中间变量是指针?还是基本变量?如果是交换字符串,