您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页初学C语言的人最容易犯的错误集锦

初学C语言的人最容易犯的错误集锦

来源:意榕旅游网
初学C语言的人最容易犯的错误集锦(一)

下面这些错误如果你不能一眼看出来,那么就需要非常注意这些细节了。这些错误虽然都很小,但是经常能让一个初学者郁闷好几天。我们将分析这些错误并给出避免出错的建议。 错误1

#include void main() {

int i;

for (i=1;i<=200;i++) if(i%7==0) ; printf(\"%3d\}

程序编写者的本意是打印所有能被7整除的数,但是每次运行的时候只会打印一个0,为啥呢?你看出来了吗??????????????????????if语言后多了分号!

这位同学本来是想在(i%7==0)等于true的时候执行printf语句的,但是分号是一段代码的终止标志,所以if只会执行空的代码体,所以 if(i%7==0) ; printf(\"%3d\ 相当于:

if(i%7==0) { };

printf(\"%3d\

可以看到printf根本没有被包含到if的大括号中。正确的代码应该是: #include void main() {

int i;

for (i=1;i<=200;i++) if(i%7==0)

printf(\"%3d\}

杨中科老师的建议是哪怕只有一行代码,也要使用大括号,所以更好的代码是: #include void main() {

int i;

for (i=1;i<=200;i++)

{

if(i%7==0) {

printf(\"%3d\ } } }

错误2

#include

int main(int argc, char *argv[]) {

int i=333; if(i%2==0) {

printf(\"偶数\"); }; else {

printf(\"奇数\"); }

return 0; }

上面的代码编译的时候会报下面的错误: error: syntax error before \"else\"

在if语句中,如果有else子句,则在if后不应该使用分号。正确的代码应该是:

#include

int main(int argc, char *argv[]) {

int i=333; if(i%2==0) {

printf(\"偶数\"); } else {

printf(\"奇数\"); }

return 0; }

总结:分号的问题是犯错率最高的一个错误。C语言的初学者最容易迷糊的就是不知道什么地方该用分号,什么地方不应该放分号。原则就是:完整的语义之后才放分号。比如对于:

if(i%7==0)

printf(\"%3d\

if语句表示“如果。。。那么。。。”,“如果。。。那么。。。”就是一个完整的语义,因此在if后不能添加分号。 同样对于: if(i%2==0) {

printf(\"偶数\"); } else {

printf(\"奇数\"); }

if。。。else。。。语句表示“如果。。。那么。。。否则”,“如果。。。那么。。。否则”就是一个完整的语义,因此在else之前不能添加分号。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务