同学们在学习C语言时常常会遇到一些问题而不知所措,了解常见问题,对顺利学习有一定的帮助,我们来看看把

1. 语句使用了中文符号,而没有使用要求的英文符号。
在code block中,英文逗号字体颜色为 红色,中文逗号字体颜色为黑色

2. scanf 浮点数(float用%f 整数(int)用%d

#include<stdio.h>
#include<stdlib.h>
int main()
{
    float grade1,grade2,grade3;
    float sum=0;
    printf("输入第一个学生的三门课成绩(用空格分隔):\n");
    scanf("%d %d %d\n",grade1,grade2,grade3); 
    getchar();
    sum=grade1+grade2+grade3;
    printf("输出第一个学生的总成绩=%d\n",sum);
    return 0;
}

该代码中存在如下种错误:
A).该句存在两种错误,浮点数应当用%f,后面再变量前需要加上&
scanf(“%d %d %d\n”,grade1,grade2,grade3);
应当改为:
scanf(“%f %f %f\n”,&grade1,&grade2,&grade3);

**B). 另外 getcha()**需要用户输入一个数,该函数通常用在程序快速执行完成,用户无法看清楚过程时,,加上该句,程序执行到该句时,可以让控制台(黑色窗口)停下来,等待用户输入。
getchar()一般放在程序结束前,一般不会放到输入后
getchar()放到前面可以执行,只是意义不大

**3. scanf的格式控制中的所有字符都必须让用户输入,
例如下面scanf中%d之间又逗号,用户必须输入逗号。否则b读取不到值

3. 文件名、方法名写错了
标准输入输出文件名是 stdio.h
打印函数名为 printf

4 code block运行程序时提示 “由于64位版本的windows不兼容…”

解决方法:安装360卫士,然后使用它修复系统。几个同学已经用该方法解决了问。

5 scanf 中的变量列表写到了字符串内(双引号)


6 code block 的项目管理窗口不见了

解决办法: 点击菜单 视图 -> 管理器,旁边会打上勾,则表明显示 管理器

7. 比较运算不能向数学里那样连写
如下图所示,这位同学 写成 0 <= grade <= 100 ,由于关系运算的结合性是自左到右,限制性0<=grade,这样得到一个逻辑结果 真或假,即1或0,该结果会与100比较,结果必然是真,这与之前预期的判断数据是否在0,100之间的目标已经偏离了,
修改方法:
需要改成 0<=grade && grade<=100
8 打印输出语句中的格式化符号没有对应的变量
printf(“x>100//x<10=%d\n”);
应当改为:
printf(“x>100}}x<10=%d\n”,x>100}}x<10);

9. scanf读取用户输入数据时,用户输入的数据分隔符号要与scanf里的分隔符一致
9scanf_s(“%d,%d”, &number,&ZS);
表明读取的数据应当用中文逗号分隔
要使得number取得10,ZS取得20,则用户必须在界面输入"10,20“”
若中间输入英文逗号,则得不到想要的结果
更复杂一点的情况是 scanf_s(“请输入%d,%d”, &a,&b);
要使得a取得10,b取得20,则用户必须在界面输入"请输入10,20“”

10 switch 语句 中case和后面的数据需要隔开
case5会被系统当做一个变量case5.
case5应当改为 case 5

11 switch 条件后不要写上分号

更多推荐

初学编程C语言常见问题——【持续更新中】