打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
我要逆袭C语言,从最易出错、最基础的知识点开始

C语言是编译型语言,C程序的运行需要经过预处理、编译、链接、运行这几个步骤,预处理阶段系统自动会处理,下一步的编译阶段,一旦编译出现error,这就需要我们自己去找到错误并修改它,也是程序员必备的一个技能:bug & debug。

小编初学C语言时,编译出现的错误,有时花几个小时自己都找不到究竟哪里不对,哪怕是照着书本打的这段代码,一条一条语句的对,还是发现不了错误,就只剩心累、头痛的感觉了!

以下是初学C编程常犯的错误,写给各位有需要的小伙伴:

1.OK和ok是两个不同的变量名

int main()

{

int OK;

printf('%d',ok);

return 0;

}

【错误解析】:变量名或标识符的命名规则,是区分英文字母大小的。它的组成由小写字母、大写字母、数字和下划线来命名。正确的做法printf('%d',OK);。

2.转换说明与变量类型不匹配

float ok;

printf('%d',ok);

【错误解析】:转换说明%d用于打印int类型的值,这里的ok变量是单精度浮点型,对应得转换说明是%f,正确的做法printf('%f',ok);。

3.字符常量与字符串常量

char c;

c='s';

【错误解析】:字符型char,用于接收单个字符的,对字符型变量c赋值时,只能是单个字符+一对单引号,正确做法c='s';字符串才会用到双引号,例如:char c[5]='ABCD';

4.赋值运算符'='和关系运算符'=='

int a=10;

a=3;//赋值:变量a的值为3

a==3;//比较变量a的值与3是否相等

5.必须添加分号

//赋值语句、scanf函数末尾记着加分号

a=1;

scanf('%d',&b);

6.不添加分号的情况

//宏定义后面不加分号

#define MAX 3

//一对花括号代表函数体的开始和结束,第二个花括号后面不加分号

if(a>1)

{

a=1;

b=1;

c=2;

}//这里没有分号

7.取地址符&的正确使用

读取基本变量类型int 、char 、float、double的值,必须在变量名前加&

int a;

float b;

scanf('%d %f',&a,&b);

字符串读入字符数组,不加&

char arr[10];

scanf('%s',arr);

8.输入数据的方式与源码中格式不符

scanf('%d%d',&a,&b);// 3 4

scanf('%d,%d',&c,&d);// 3,4

你的scanf()函数中用了逗号分隔数据,在运行时,数据之间用逗号分隔

9.输入字符型变量的值

char s1,s2,s3;

scanf('%c%c%c',&s1,&s2,&s3);

输入的值为:abc,此时每个数据之间就不要按下空格键,%c会读取一个空格字符的

10.转换说明符与变量类型对应

常用的:

int型:%d

float型:%f

double: %lf

不要混用,int a=9; prinf('%f',a);错误

11.输入数据,不要规定数据的精度

scanf('%7.2f',&a);//错误的

%7.2f'控制字符串只能用在printf函数中,7表示输出数据占用7个字符宽度右对齐,.2表示输出数据保留小数点后2位小数。

12.数组的大小不能动态定义

不可以这样做:

int n;

scanf('%d',&n);

int a[n];

可以使用宏定义:

#define N 9

int a[N];

13.数值的下标从0开始

int a[4];

说明:a数组里有4个元素,分别用a[0],a[1],a[2],a[3],这4个单元存放数值,一定没有a[4]的写法

~~~end

本公众号持续输出C语言学习知识

感兴趣的小伙伴加个关注

好东西要和朋友一起分享

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C语言难点分析整理
c语言练习题
数组
5.1 单项选择题
C程序试题及答案
2023年计算机C语言专升本测试卷(共八卷)及答案
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服