这段代码为什么可以输出……?

来源:百度知道 编辑:UC知道 时间:2024/07/02 20:40:53
void main()
{
char a[]="I am tomoto";
int i=0;
while(a[i]!='\0')
{
if (a[i]==' ') cout<<" ";
else
{a[i]++;
cout<<a[i];
}
i++;
}
}

运行结果是J bn upnbup

非常非常不明白。。

你没看出来输出的每个字母是原字母的下一个字母吗?
问题出在
a[i]++;
char类型增加1,就是下个字母。

楼上说得不错,只要把
a[i++];
cout<<a[i];
顺序改了就可以啦
又或者直接反a[i++];这句释掉,这句代码在这里没有用~