求C语言中既简单又容易出错的地方。。。。。
展开全部
这种地方很多,我就举些我认为是需要注意的地方吧.
一.先说C语言运算符方面的:
1.在"=="比较运算中,可能会把"=="写成"=",例如while(i==1)写成while(i=1)这将导致无限循环.
2.自增自减运算,注意前缀++与后缀++的区别,a++与++a的区别就在于前者的值是a原先的值,而后者是a自增1后的值.在具体的使用应更加注意.
3.注意逻辑运算符||与&&的短路效应.
4./与\的区别.
二.说下输入输出函数的:
1.scanf中,可能变量前面忘加&,例如int a; scanf("%d",a);的形式.
2.多个gechar函数出现在主函数中,导致有字符残留现象,会出现把回车符赋给字符变量的情况.
3.也是scanf函数里面的,出现int a,b; scanf("%d,%d",a,b);的情况,如果输入的是12空格45回车,则会导致a,b无法接收数据.正确应该输入
12,45回车.
三.说下程序设计初步里面重要函数的问题:
1.if,while,for等语句的主体语句必须是一个语句,即要有多个语句的话必须要用大括号括起来.
2.switch语句的子case语句后面忘加break的情形.
3.注意出现死循环,无限循环的情况.
四.还有就是编写要规范,常量标识符最好用大写,比如#define PI 3.14159 ,以和变量名区分开来.
还有很多,但问题总是你自己的,我们的问题不一定是你的问题,所以你自己要多多摸索.多多注意,养成良好的编程风格,多看书上的书写,希望能帮助到你.
一.先说C语言运算符方面的:
1.在"=="比较运算中,可能会把"=="写成"=",例如while(i==1)写成while(i=1)这将导致无限循环.
2.自增自减运算,注意前缀++与后缀++的区别,a++与++a的区别就在于前者的值是a原先的值,而后者是a自增1后的值.在具体的使用应更加注意.
3.注意逻辑运算符||与&&的短路效应.
4./与\的区别.
二.说下输入输出函数的:
1.scanf中,可能变量前面忘加&,例如int a; scanf("%d",a);的形式.
2.多个gechar函数出现在主函数中,导致有字符残留现象,会出现把回车符赋给字符变量的情况.
3.也是scanf函数里面的,出现int a,b; scanf("%d,%d",a,b);的情况,如果输入的是12空格45回车,则会导致a,b无法接收数据.正确应该输入
12,45回车.
三.说下程序设计初步里面重要函数的问题:
1.if,while,for等语句的主体语句必须是一个语句,即要有多个语句的话必须要用大括号括起来.
2.switch语句的子case语句后面忘加break的情形.
3.注意出现死循环,无限循环的情况.
四.还有就是编写要规范,常量标识符最好用大写,比如#define PI 3.14159 ,以和变量名区分开来.
还有很多,但问题总是你自己的,我们的问题不一定是你的问题,所以你自己要多多摸索.多多注意,养成良好的编程风格,多看书上的书写,希望能帮助到你.
展开全部
字符串数组结尾忘记加'\0'
空指针指向的空间赋值
maloc的空间没有free
还有写代码风格的问题
等等的,写多代码自然就注意了
空指针指向的空间赋值
maloc的空间没有free
还有写代码风格的问题
等等的,写多代码自然就注意了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a;
a++;
++a;
printf("%d",a++);
a++;
++a;
printf("%d",a++);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a++
++a
a--
--a
容易漏掉;
++a
a--
--a
容易漏掉;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询