C语言是编译型语言,C程序的运行需要经过预处理、编译、链接、运行这几个步骤,预处理阶段系统自动会处理,下一步的编译阶段,一旦编译出现error,这就需要我们自己去找到错误并修改它,也是程序员必备的一个技能:bug & debug。
小编初学C语言时,编译出现的错误,有时花几个小时自己都找不到究竟哪里不对,哪怕是照着书本打的这段代码,一条一条语句的对,还是发现不了错误,就只剩心累、头痛的感觉了!
以下是初学C编程常犯的错误,写给各位有需要的小伙伴:
int main()
{
int OK;
printf('%d',ok);
return 0;
}
【错误解析】:变量名或标识符的命名规则,是区分英文字母大小的。它的组成由小写字母、大写字母、数字和下划线来命名。正确的做法printf('%d',OK);。
float ok;
printf('%d',ok);
【错误解析】:转换说明%d用于打印int类型的值,这里的ok变量是单精度浮点型,对应得转换说明是%f,正确的做法printf('%f',ok);。
char c;
c='s';
【错误解析】:字符型char,用于接收单个字符的,对字符型变量c赋值时,只能是单个字符+一对单引号,正确做法c='s';字符串才会用到双引号,例如:char c[5]='ABCD';
int a=10;
a=3;//赋值:变量a的值为3
a==3;//比较变量a的值与3是否相等
//赋值语句、scanf函数末尾记着加分号
a=1;
scanf('%d',&b);
//宏定义后面不加分号
#define MAX 3
//一对花括号代表函数体的开始和结束,第二个花括号后面不加分号
if(a>1)
{
a=1;
b=1;
c=2;
}//这里没有分号
读取基本变量类型int 、char 、float、double的值,必须在变量名前加&
int a;
float b;
scanf('%d %f',&a,&b);
字符串读入字符数组,不加&
char arr[10];
scanf('%s',arr);
8.输入数据的方式与源码中格式不符
scanf('%d%d',&a,&b);// 3 4
scanf('%d,%d',&c,&d);// 3,4
你的scanf()函数中用了逗号分隔数据,在运行时,数据之间用逗号分隔
char s1,s2,s3;
scanf('%c%c%c',&s1,&s2,&s3);
输入的值为:abc,此时每个数据之间就不要按下空格键,%c会读取一个空格字符的
常用的:
int型:%d
float型:%f
double: %lf
不要混用,int a=9; prinf('%f',a);错误
scanf('%7.2f',&a);//错误的
%7.2f'控制字符串只能用在printf函数中,7表示输出数据占用7个字符宽度右对齐,.2表示输出数据保留小数点后2位小数。
不可以这样做:
int n;
scanf('%d',&n);
int a[n];
可以使用宏定义:
#define N 9
int a[N];
int a[4];
说明:a数组里有4个元素,分别用a[0],a[1],a[2],a[3],这4个单元存放数值,一定没有a[4]的写法
~~~end
本公众号持续输出C语言学习知识
感兴趣的小伙伴加个关注
好东西要和朋友一起分享
联系客服