解决C语言编程常见问题,轻松提高编程水平!

news/2025/1/12 12:11:05/

遇到错误时应该如何处理

     当遇到错误时,不要惊慌失措。首先要查看错误提示信息,如果是中文提示就直接阅读,如果是英文提示则进行翻译理解。根据错误提示定位到错误发生的代码行数,通常错误就在该行的上下几行代码中。不要偷懒,马上向他人询问问题,这样对自己负责任。成长需要经历困难,只有亲身经历过才能真正记住和理解。若根据错误提示无法解决问题,先在网上搜索答案,自己仔细检查代码通常也能找到问题所在。如果仍无法解决,可以向在线群里请教有经验的人,但提问也需要讲究技巧:首先描述程序的功能,然后解释错误原因、出现位置以及你自己的分析。

C语言常见错误主要有三种:

一、语法错误:

定义:指程序中含有不符合语法规定的语句。

出现原因:

1. C语言基础语法不扎实。

2. 编写代码时马虎,只想赶快完成。

3. 对某些知识点了解不深,不知道如何正确使用。

常见错误:

1. 引号、逗号、分号使用错误(中文和英文的引号、逗号等是不同的,注意切换输入法)。

2. 变量未定义(这个不用多说)。

3. 变量赋值、运算时显示类型不匹配(例如:int a=2;float b=2.021;当使a=b时,会显示类型不兼容,会导致数据丢失)。

5、函数参数不匹配(了解函数的作用,需要传什么参数,对照形参传实参)

6、头文件未包含(有时候你在别处看见一个好玩的函数,你自己拿来用,发现此函数竟然未定义,oh~糟糕!你要知道此函数在哪个头文件里面,或者是否是自己定义的)。

7、宏定义不是C语言语句,后面一定不能加分号,否则会导致宏定义不能使用(#include SIZE 100; 这样就是错误的,a=SIZE+1;这里就运行不了,编译器也崩溃了,乱报错,啥都有,你要是不注意根本找不到问题!)

二、逻辑谬误

概念:逻辑谬误指的是程序中没有语法错误,可以通过编译、连接生成可执行程序,但程序运行的结果与预期不符的错误。

出现原因:

1、和语法错误一样,是由于不细心引起的,是不该出现的错误。

2、对于内存不够了解,使用指针时出现问题。

常见错误:

1、在进行if条件判断时使用了赋值运算符=,而不是逻辑运算符==(if(a=b)和if(a==b)是完全不同的,相信大家都遇到过)。

2、这个问题让人头疼,运行一下代码,好,没问题!然而,在输入等操作后,突然弹出一个窗口,显示大致意思是访问冲突。此时,你盯着代码发呆。发生了什么,为什么会这样,如何解决!???

此类问题的错误有很多:

1 数组越界访问或者越界存储数据

2 用scanf输入时没有取地址(&a)

3 指针指向了没有权限访问的内存(注意野指针)

4 一定要细心、细心、细心

三、系统错误

定义:指程序没有语法错误和逻辑错误,但其正常运行取决于特定外部条件的存在。如果这些外部条件缺失,则程序将无法执行。

出现原因:

1、外部依赖项路径设置错误。

2、缺少外部依赖项。

常见情况:

1、在图形编程中输出图片时,路径设置错误。

2、使用某些函数时找不到这些函数(例如,easyx图形库)。虽然你已经包含了头文件并编写了输出代码,在别人那里也能运行,但要注意,并非所有的函数在C语言中都自带,有些需要额外安装,easyx就是其中之一。

对于热爱编程的朋友们来说,即使路途崎岖,也要坚持走下去!如果你对编程感兴趣或有需求,笔者强烈推荐一个编程技术学习交流的聚集地→私信我即可!在那里你可以找到完整的学习路线图和学习资料视频哦,不论你是初学者还是专家,都能在这里探讨编程,享受良好的学习氛围!


http://www.ppmy.cn/news/977759.html

相关文章

[Python] flask运行+wsgi切换生产环境+supervisor配置指南

文章目录 问题背景flask启动方式1(编写main函数):方式2(编译器):方式3(命令行):方法4(重命名文件法):方法5(使用flask命令…

使用Vs Studio和Cmake生成C++库

使用Vs Studio和Cmake生成C库 在windows系统下,由于没有C的编译器,想通过源码安装、加载C的库存在不方便的地方。本文将介绍通过使用Vs Studio运用Cmake的方式,编译一个简单的自定义库,并进行加载、调用。 工程源代码 前提条件 …

Pandas库:从入门到应用(四)--数学函数

一、测试数据 import numpy as np import pandas as pd## 5行3列 0到100的数据 df pd.DataFrame(datanp.random.randint(0, 100, size(5, 3))) df二、基础聚合函数 2.1、count()函数 df.count() # 统计每列的行数(非空),默认axis0 df.count(axis1) # 统计每行的列数(非空)…

Pytorch个人学习记录总结 06

目录 神经网络-卷积层 torch.nn.Conv2d 神经网络-最大池化的使用 torch.nn.MaxPool2d 神经网络-卷积层 torch.nn.Conv2d torch.nn.Conv2d的官方文档地址 CLASS torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue,…

面试算法题

1 使用栈实现队列 #include <iostream> #include <stack> class MyQueue { public:MyQueue() {}void push(int x){in.push(x); // 直接将元素push入in栈}int pop(){int data peek(); // 先查一遍&#xff0c;就是更新一遍out栈out.pop();return data;}// 查找队…

linux 驱动开发常用知识点与API

linux 驱动开发常用知识点与API 前言笔记正文最后 前言 之前的读书笔记&#xff0c;以.c 文件的方式记录&#xff0c;在这里也以代码的方式记录 笔记正文 /***************************************中断常用API****************************************/ /* flags 是中断处…

Transformer+医学图像最新进展【2023】

Transformer主要用于自然语言处理领域。近年来,它在计算机视觉(CV)领域得到了广泛的应用。医学图像分析(MIA,Medical image analysis)作为机器视觉(CV,Computer Vision)的一个重要分支,也极大地受益于这一最先进的技术。 机构:新加坡国立大学机械工程系、中山大学智能系…

php套用Iframe访问导致cookie跨域session失效问题

一.背景 a网站&#xff08;www.aa.com&#xff09;嵌入b网站 (www.bb.com) 网站&#xff0c;因为跨域原因&#xff0c;其实如果b网站是以aa.com后缀结尾的话是正常的 二.博客参考 https://juejin.cn/post/7123652955282079751 1.上面的试了这个IE的没什么用&#xff08;有可能…