标题:求助:windows和unix下c编译器的区别
取消只看楼主
whntbear
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-7-19
 问题点数:0 回复次数:2 
求助:windows和unix下c编译器的区别
我写了个程序,将输入字符串中的多个空格合成一个空格,
main()
{
int c,ns;
ns = 0;
while ((c= getchar()) != EOF ){
if ( c == ' '){
++ns;
if (ns == 1)
putchar(c);;
}else
putchar(c);
}
getch();
}
用win-tc编译,在win2000下运行正常 如:
a bcd
a bcd
但在unix下,结果却是:
a bcd
abcd
我知道是c编译器不同造成的,但
具体是什么原因呢?unix下要怎么改程序呢?
搜索更多相关主题的帖子: unix windows 编译 
2006-07-24 16:47
whntbear
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-7-19
得分:0 
我发现一点:在unix下第一次运行时结果是对的,再试就不对了 如:
a bcd
a bcd
a bcd
abcd
2006-07-24 16:51
whntbear
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-7-19
得分:0 

不好意思,不关unix和windows下C编译器的事,我在windows下又试了一下,第一次可以,以后就不行了,原因是在第二次输入时,ns不等于1了,就不会打印空格了

2006-07-24 17:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-80039-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.152956 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved