首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一样的程序用VS2008和VC6.0输出的结果为什么不一样

2013-04-20 
同样的程序用VS2008和VC6.0输出的结果为什么不一样?贴代码,很短的,大家来帮帮忙啊:#include stdio.hint

同样的程序用VS2008和VC6.0输出的结果为什么不一样?
贴代码,很短的,大家来帮帮忙啊:

#include "stdio.h"
int main(){
char a[]="abcdefg",b[8],*pa;
int i,n;
pa=a;n=0;
for(i=0;*(pa+i)!='\0';i++){
if(i%2==0)
b[n++]=*(pa++);
}
b[n]='\0';
printf("%s\n",b);
}

VS2008输出:abcde
VC6.0 输出:abcd

帮帮忙找找问题 ,谢谢啊 VC vs2008 printf 不同 相同
[解决办法]
b[n++]=*(pa++);这句貌似是未定义的。b[n++]的解释依赖编译器
[解决办法]
http://bbs.csdn.net/topics/370153775
[解决办法]

引用:
引用:引用:引用:b[n++]=*(pa++);这句貌似是未定义的。b[n++]的解释依赖编译器
您认为哪个输出结果可以接受?我是在用VS2008做题,编译后发现与我预期的结果不一样,后来就用VC6.0试了试,果然有出入了。因为我预期的输出结果是VC6.0的结果。
对……

那你就写上2种编译器下运行结果呗。

热点排行