新手C语言上路常见错误总结及解决办法(一)

新手C语言上路常见错误总结及解决办法(一)

导入

如果你是一名新手,那么一定有遇到过这个问题,看着自己的代码看半天内心想着没有任何问题啊,但是编译器总会提醒你这种那种看不懂的报错,如果遇见了请务必不要慌张,这里为大家总结了一些刚开始经常遇到的错误。

什么?知道这些错误却总是忘还总是出错怎么办,答案当然是天道酬勤,即使你知道了这么错误,感觉自己懂了却不勤于练习的话,这些错误依旧会犯,好了关于导入,就讲到这里,下面看看那些新手上路常见的错误吧。

错误1:语言使用错误

新手上路经常会出现因为输入法的原因输入的时候不小心使用中文符号会遇到编译器的这样的警告
在这里插入图片描述

`int main()
{
	printf("hello world\n")return 0;
}`

那么我们来看一下哪里错误了,如果你仔细看的话可能会发现printf后的分号,和return 0后的分号是不是不太一样,没错,printf后的分号是一个中文的分号,所以编译器才会报这样的错误,解决办法当然就是改成英文状态下的分号,这里还要重点强调一下,在C语言中全部的符号全部都要使用英文状态的,这点一定要记住

错误2:忘记使用方法导致的错误

对于新人来说最常见的错误莫过于printf和scanf的使用出现问题,这两个函数也是经常使用的函数,对于printf来说,我们经常会遇到这样的问题
在这里插入图片描述
没错看起来这是个非常简单但是却非常常见的问题,

`#include<stdio.h>
int main()
{
	int a = 12;
	int b = 15;
	printf("a=%d%%,b=%d%%",a,b)
	return 0;
}`

第一眼看一去可能感觉没有什么问题啊,然后就开始怀疑编译器是不是有问题,大家要记住,机器它是不会出问题的,一定要保持谦虚的心,认真仔细的检查自己的代码问题,之后学的深入的话一个好的项目一定是经过一遍又一遍打磨,修改各种各样的很多问题,最后产生的,好了如果能看懂这里的错误的话scanf也就好理解了,scanf的常见错误如下
在这里插入图片描述

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d%d",a,b);
	if (a >= b)
		printf("max=%d\n", a);
	else
		printf("max=%d\n",b);
	return 0;
}

没错,还是和上面相似的问题,咋一眼看上去没什么错误,但是你冷静下来仔细检查的话会发现scanf的用法是没有取地址操作符的,这个问题可能会持续很长一段时间,但是也不要慌张,当你写的多了,有意识的去改正自然而然就不会再错了,类似的问题还有很多,这里就不一一列举了,在以后的篇幅里再讲。

错误3:变量命名的错误

例如第一种:以数字开头

`int main()
{
	int 4e;
	printf("%d\n",4e);
	return 0;
}`

我就不放图片了,免得错误示范看多了反而记住了,第二种错误是加入乱七八糟的符号,第三种是使用了一些C语言中关键字(关于关键字在后续讲解)这里重点讲一下变量的命名:变量名只能包含英文字母和数字以及下划线,并且不能以数字开头,可以以下划线开头但不推荐,原则上来说是可以的,但是一般都不会这么做

错误4:不注意大小写区分

这也是一个很经典的问题,刚开始学C语言时可能忽略大小写的区别而导致一些错误,例如

int main()
{
	int a = 10;
	printf("%d\n",A);
	return 0;
}

可以看出是想要打印出10,但是编译器一定会报错说A未定义,这是因为a和A是两个变量,这个很好理解,注意一下很容易解决。

错误5:未引用头文件

我们知道在C语言中要使用一些库函数是要引用头文件的,例如经常使用的printf,scanf等要引用stdio.h,引用头文件的格式是#include<stdio.h>,另外还有一些windows.h;stdlib.h;string.h等等这些到以后再一一解释。
这里放一下如果未引用头文件会出现的错误如下
在这里插入图片描述

int main()
{
	int a = 10;
	printf("%d\n",a);
	return 0;
}

解决办法也很简单就是在代码开头引上头文件,如下

#include<stdio.h>
int main()
{
	int a = 10;
	printf("%d\n",a);
	return 0;
}

错误6:‘=’和‘==’的混淆

关于这个错误我自己是深有体会,我相信这也是每个初学者都会经历的错误,这和我们平日里的思维习惯有关,这没有什么好的办法,我们要慢慢适应计算机的思维,对于这个错误的示例如下

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d%d",&a,&b);
	if (a = b)
		printf("%d=%d\n", a, b);
	else if (a < b)
		printf("%d<%d\n", a, b);
	else
		printf("%d>%d\n",a,b);
	return 0;
}

仔细检查if(a=b)此处是想要判断a是否等于b,而在C语言中=表示的是赋值,==才是表示判断,而这样就会导致问题,修改的话就是如下

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d%d",&a,&b);
	if (a == b)
		printf("%d=%d\n", a, b);
	else if (a < b)
		printf("%d<%d\n", a, b);
	else
		printf("%d>%d\n",a,b);
	return 0;
}

这样此程序就能很好的跑起来了。

好了,今天的新手C语言上路常见错误总结及解决办法就先到这里吧,后续还有很多要讲,就到日后慢慢写吧,另外学习C语言方面的经验我也会在这里分享,欢迎大家来共同交流学习。

最后,想说和大家几句心里话,学习编程是枯燥而且需要毅力的,程序中一个小小的错误可能会卡住你很长时间,希望你一定要保持冷静,坚持学习,既然选择了这个行业就一定要坚持下去,大家一起加油

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝不过海呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值