欢迎光临
我们一直在努力

C语言基础刚需避坑指南,新老手都会犯

C语言新手及老手常见错误及避坑指南

  • 语法入门必坑

  • 变量/数据类型必坑

  • 运算符/条件&循环必坑

  • 指针/数组/字符串必坑

  • 函数必坑

本文整理了C语言学习阶段中高频踩的刚需避坑点,覆盖“Hello World”入门到内存管理的核心场景,不管是纯C语言新手,还是初学者看完能避开90%的基础错误,附赠避坑清单思维导图,文末可取!

语法入门必坑

1.遗漏#include <stdio.h>等核心头文件

在初次写程序的新手常常会忘记写头文件或者写错常见情况如下:

Alt

注意:当出现这个报错,则说明头文件错误,这时候就看看自己的头文件是否写了或写错

2.main函数写错,新手常常写成int mian;

新手常常写错程序报错也不知道哪里错了,盯着代码看半天。

在这里插入图片描述

注意:当出现无法解析外部符号‘mian’时,就是main写错了。

  • 3.运算符混用:如“=”赋值与“==”判断混用(if语句中最常见逻辑错误)

变量/数据类型必坑

  • 1.数据类型不匹配

    如:float 用%d输出,代码运算没有结果等,然后一个劲的找代码错误,结果发现只是这个小小的错误(又是你中招了吧),在这里不演示。

  • 2.字符使用混淆

    如: 单字符/双字符用反“ “” ‘’ 判断符号与赋值符号:‘==’ 与 ‘=’。

运算符/条件&循环必坑(运算/逻辑错误重灾区)

  • 1.整数除法截断小数(新手老手都容易犯的错!!!):

如5/2=2,在计算的时常常弄错,结果代码排查半天都找不出问题。(说的是不是你)

在这里插入图片描述

  • 2.自减/自增使用不当

    如:分不清前置和后置

int b=1; int a=1;
b=++a;//前置,先自增再赋值 结果:b=a=2
b=a++;//后置,先赋值再自增 结果:b=1,a=2`

记忆口诀:加前先自增,加后先赋值。

  • 3.if语句遗漏大括号(多语句执行)(新手经常犯的错误)

    如:(是不是又有你)

int n=1;
if(n>=10)
n=0;
printf("作者真帅\\n");

最后的结果:则会打印”作者真帅“。但你的本意是当n>=10时,打印:作者真帅。 解释:没有大括号时,if语句只可以控制后面一条语句,再后面则无法约束。

指针/数组/字符串必坑

  • 1.未初始化指针/空指针解应用(这里不做演示)

  • 2. 释放空间后未置空指针

  • 3.多次释放同一指针

函数必坑(新手易忽略的问题)

1.函数调用参数类型/数量不匹配

int add(int x,int y)//接受整形的形参
{
return x+y;
}
int main()
{
int res1=add(3.8,4.5);//传递浮点的实参
printf("%d",res);
}

结果:报错 解析:add函数接受是整形,而传递的实参是浮点型。

2.递归函数无终止条件

如:

int add(int n=6)
{
if(n==0)
return 0;
return 1+add(n+1);//正确写法:return1+add(n-1);//使每一次代码运行时都接近终止条件
}

结果: 程序一直运行。 解析: 递归函数无法到达终止条件

评论可以获得:本章的思维导图

总结:

今天的避坑指南就到这里了,总的来说就是写代码的时候用心一些,避免一些低级错误。
如果有哪些地方有错误希望可以积极指出,感谢各位观看
你也可以分享一下你经常遇到的问题,没准成为下期素材
赞(0)
未经允许不得转载:171主机测评 » C语言基础刚需避坑指南,新老手都会犯
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址