作者gn00618777 (非常念旧)
看板C_and_CPP
标题[问题] 关於cppcheck用来检查程式的 error
时间Sat Sep 14 22:46:15 2019
我在 linux 上开发程式。工作上的电脑 64 位元
apt-get 了 cppcheck 套件来检查自己程式的潜藏问题
印象中的程式是这样
FILE *pF;
pF = fopen("b.txt", "r");
char a[256]="", *recv = fgets(a, sizeof(a), pF);
fclose(pF);
下了 cppcheck test.c 2> look
会出现 error: buf is accessed out of bounds
我回家用自己的电脑再K一次,又没出现error了~"~,想请问各位打上这段程式码
有出现类似的问题吗?
要是有出现error,我是想问发生error的原因,因为我看了好几次都不觉得有error
但 cppcheck 却说有。然後我把 a[256]=""; 变成a[256]; 就没出现error。
不太解,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.68.215.61 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1568472378.A.7EE.html
1F:→ dces4212: 怎觉得你是在非宣告的地方打了a[256]="",才跳出越界存 09/15 12:05
2F:→ dces4212: 取 09/15 12:05
3F:→ gn00618777: 疑? char a[256]="", *recv = ... 这边不就是宣告了? 09/15 20:59