现在我学习已经有一星期了,C语言的基础入门也已经过了三四天了,这几天跟着老师也学了不少新知识,也自己敲了一些代码,其中有一些错误也在自己的钻研下得到解决,接下来我就给大家分享一下。
第一处错误就是Add函数,大家可以看一下:
int Add(int x, int y)后边不应该加分号的,因为是寒假在家自学,并没有老师指导,所以这样一个简单的问题我也废了不少事,最后是想到了main函数后边没有“;”才醒悟过来的。
第二个问题是在C语言中关于“=”和“==”的意义,大家可以看一下下面两段代码:
其实这两段代码只差了一个等号,就是判断语句那里,if(b = 0)与if(b == 0)的区别,但是运行起来却千差万别,可以看出来,这两段代码都是为了算出某个数字是否能被五整除,但是第一段代码并没有用,为什么呢?
因为在C语言中“=”代表赋值,而“==”才代表判断,所以第一段代码其实是吧“0”赋给了“b”,而“0”恰恰代表了“假”,所以对于第一段代码来说,无论你输入了什么,结果都为“NO”。
还有一个非常重要的问题,就是编译器只能看懂英文字符,所以有时候输入完汉语后忘记改变输入法去直接打符号,比如括号,分号,单双引号之类的,都会引起报错。
最后,我给大家分享一段我昨天晚上跟着视频中的老师做的一个猜数字的小游戏,大家有兴趣可以玩一玩。(没有找到配套C语言的格式,大家就将就着看吧。)
#define _CRT_SECURE_NO_WARNINGS #include#include #include void menu() { printf("************************n"); printf("*******1 play***********n"); printf("*******0 exit***********n"); printf("************************n"); } void game() { int ret = 0; ret = rand() % 100 + 1; int guess = 0; while (1) { printf("请输入您猜的数字:"); scanf("%d", &guess); if (guess > ret) { printf("猜大了n"); } else if (guess < ret) { printf("猜小了n"); } else { printf("恭喜您,猜对了:%dn", ret); break; } } } int main() { printf("该游戏为猜数字小游戏n该数字为1-100内随机数字n"); printf("输入“1”进入游戏n输入“0”退出游戏n"); int input = 0; srand((unsigned int)time(NULL)); do { menu(); printf("请选择:"); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: printf("退出游戏n"); break; default: printf("选择错误,请重新选择n"); break; } } while (input); return 0; }



