网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月15日漏签0天
c语言吧 关注:801,960贴子:4,377,833
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 首页 上一页 1 2
  • 57回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
>0< 加载中...

回复:这图该更新了

  • 只看楼主
  • 收藏

  • 回复
  • 听取呱声一片
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不会配置vscode请用vs2022或redpanda


  • S是长筒袜
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
21什么意思?


2026-04-15 16:23:46
广告
不感兴趣
开通SVIP免广告
  • 运球帝
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 矶贝风子
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请换一个正常的编程字体


  • 贴吧用户_Q4Je6A5
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如果代码找书抄运行不了,可以把他全删了,在超一遍


  • 塞哈哈真
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
printf("%d");这个也算未定义


  • 墨离笒
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
插眼,好了踢我(小白一枚)


  • AWYXDXPY
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
空格不是'\0'


2026-04-15 16:17:46
广告
不感兴趣
开通SVIP免广告
  • 上班上班
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
交给c++吧去改


  • 一个纯种小号
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
语死早写不短,楼主挑一点精简一下加入吧
0. 打开 -Wall 解君愁。
1. 运行错误多半是因为数组下标越界:定义 int a[100] 是定义了 a[0]~a[99] 共 100 个变量,不包括 a[100],使用 a[100] 就会导致下标越界。
2. 数组越界不一定会立刻报错,但是错误的内存使用会让整个程序发生无法预期的奇怪错误。如果你的程序出现了非常反常的错误可以试试检查之前有无发生数组越界。
3. 函数类型不是 void 却没有返回值会导致在大部分环境下运行错误。
4. (不考虑 static)函数外定义的变量为全局变量,函数内定义的变量为局部变量。定义在局部的变量的空间是存入非常宝贵的栈空间里的,所以定义在局部数组无法开的很大,否则会运行错误。数组特别大时需要开在全局,或使用动态分配(malloc / new / vector)。
5. 全局变量和静态变量会在程序开始执行之前自动初始化。这是通过在程序执行前执行特殊的代码段来实现的,这段代码段通常由编译器生成并在程序启动时执行。定义在局部的变量则不会被默认初始化,此时里面全都是随机值,需要手动赋值初始化(使用 for 循环赋值或者使用 memset)。
6. 没有额外写构造函数的结构体 struct 定义在局部一样需要初始化(不知道为什么很多人会记混)。
7. memset 填充以一个字节为单位,例如有一个 int 数组 a, memset(a, 1, sizeof(a)); 会给 a 数组里面的变量全部赋值为16843009 (二进制表示为 0000 0001 0000 0001 0000 0001 0000 0001B)。
8. STL 中的动态数组 vector 会自动扩容,而在扩容时内存会自动“搬家”,此时指向它们的指针(迭代器)就会全部变成野指针。
9. STL 中的优先队列 priority_queue 默认是大根堆。
10. 除会导致精度丢失。尽量把除的表达式改成乘的表达式。(如把 if (a / b < aa / bb) 改为 if (a * bb < aa* b) )
11. c++ 没有乘方符号,^ 是位异或。
12. int 只能存下比 2147483647(约 21 亿) 小的数,否则会让结果变成负数(俗称爆 int),常发生在乘法运算中。
13. 常数位爆 int 了,如:
1 << n
1ll << n
n = 50 时上面会爆 int 下面就不会。
14. cin 读完 int 会残留令其停止的字符在输入缓冲区。
15. 推荐输入输出和处理数据相互分离而不是写在同一个循环。否则处理多组数据时,边输入边处理数据,然后一个 break 把自己送走(上一组的数据没读完)。
16. 代码块(作用域)内外定义的变量是同一个名字时,所有操作均只对内层的变量进行。
17. sort 的比较函数必须是严格降序的否则会运行错误,如:
return x <= y; // RE
return x < y; // OK
return (block[a.l] & 1) ^ (a.r < b.r); // RE
return (block[a.l] & 1) ? (a.r < b.r) : (a.r > b.r); // OK


  • 青青子衿8.3
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
第十三,后面那句“所以if条件一直成立是”感觉是错的,假如赋值是0呢,那应该也不能运行吧


  • Kolkas
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
感觉这一点也可以加上😔 是int main不是void main也不是单main



  • 圣子无名
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
switch语句中忘记加break,导致代码执行后面的case。
字符串末尾忘记加'\0',printf、strlen异常。
未初始化变量。
数组越界访问,导致程序崩溃或者其他奇怪的行为。
忘记释放动态分配的内存,导致内存泄露。
野指针(未初始化的指针)、空指针解引用,都会导致程序崩溃。
使用==比较字符串而不是使用strcmp(),==比较的是指针地址而非字符串内容。
在for循环中修改循环变量,导致循环逻辑错误。
使用局部变量的地址作为函数的返回值,因为局部变量在函数返回后会被销毁,其地址将不再有效。
全局变量自动初始化为0,但局部变量不会自动初始化。在switch语句中忘记加break,导致代码执行后面的case,这被称为“穿透”现象。
字符串末尾忘记加'\0',导致字符串处理函数如printf、strlen等行为异常。
使用未初始化的变量,结果可能会出现不可预料的错误。
数组越界访问,可能会破坏程序的内存结构,导致程序崩溃或者其他奇怪的行为。
忘记释放动态分配的内存,导致内存泄露。
指针使用错误,如野指针(未初始化的指针)、空指针解引用,都会导致程序崩溃。
使用==比较字符串而不是使用strcmp(),==比较的是指针地址而非字符串内容。


  • Dangfer
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
很久之前做过一版补充的,但是从来没发过


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 1 2
  • 57回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示