Chinaunix
标题:
fedora 和windows的区别
[打印本页]
作者:
后街爱好者
时间:
2009-06-07 13:58
标题:
fedora 和windows的区别
hi, all
今天装上了fedora9试着运行了下面的代码,感觉fedora上跑这段程序有问题啊
#include <string.h>
int main(char** argv){
char name[64];
char score[3];
memset(name, '\0',sizeof(name));
strcpy(name, "Tony");
printf("%s\n", name);
printf("%d\n", strlen(name));
memset(score, '\0', sizeof(score));
strcpy(score,"100");
printf("%s\n", name);
printf("%d\n", strlen(name));
printf("%d\n", strlen(score));
printf("%s\n", score);
system("PAUSE");
}
复制代码
windows跑得结果如下
---------------------------------
Tony
4
Tony
4
3
100
请按任意键继续. . .
---------------------------------
fedora9的结果却是
---------------------------------
Tony
4
0
3
100
-----------------------------------
怎么感觉是个bug啊。
作者:
daybreakcx
时间:
2009-06-07 14:38
score长度不够,最后还有一个'\0',其实不是操作系统问题,这是编译器怎么分配局部变量的问题,或者说这里两个结果不同是你开的字符串规模问题。
作者:
后街爱好者
时间:
2009-06-07 16:09
多谢楼上的,马虎了,将score数值长度变为4就没什么问题了。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2