本帖最后由 RyanBern 于 2015-9-5 12:25 编辑
随便说几个BUG吧(亲身体会):
1. 使用VS2013编译器
int main(){ int i,a[10]; for(i = 0; i <= 12; i++) a[i] = 0; //卧槽,死循环了? return 0; }
int main(){
int i,a[10];
for(i = 0; i <= 12; i++) a[i] = 0; //卧槽,死循环了?
return 0;
}
2. 小 i 已死,有事烧纸
#include<stdio.h> int* f(void){ int i = 5; return &i; } int main(){ int *a = f(); printf("%d", *a); //好像没什么不对 // 当执行了一堆和 a 无关的代码之后 printf("%d", *a); //卧槽怎么不是 5 了? return 0; }
#include<stdio.h>
int* f(void){
int i = 5;
return &i;
}
int main(){
int *a = f();
printf("%d", *a); //好像没什么不对
// 当执行了一堆和 a 无关的代码之后
printf("%d", *a); //卧槽怎么不是 5 了?
return 0;
}
3. 你丫不知道数组大小会变吗?
a = [1, 2, 3, 4, 5] for i in 0...a.size a.delete_at(i) end
a = [1, 2, 3, 4, 5]
for i in 0...a.size
a.delete_at(i)
end
4. 括号是个好东西
while(c = getchar() != EOF) putchar(c); //卧槽我看到了一排笑脸,计算机你是在嘲笑我吗?
while(c = getchar() != EOF) putchar(c); //卧槽我看到了一排笑脸,计算机你是在嘲笑我吗?
5. 状元的疑惑
Plane(还是Viewport什么的,不记得了)的Visible永远返回 true,不知道为什么。
6. C#3.0谜一样的错误
两个正整数相加,无溢出,返回的竟然是负数。
两个正整数相加,无溢出,相加之后写一句 string a = "";,然后你会发现前者的数字又对了。
ps这是我的老师发现的一个C#的BUG,此BUG在C#4.0中被修复。 |