我对这种和平的代码有疑问,它应该将小写字母更改为大写字母,并将多个空格转换为一个空格。所以它做错了什么,就像我写“ abcdefg”时一样,它以某种方式切断了第一个字母,这给了我输出“ BCDEFG”的机会。
main(){
int z=0,b;
while ( (b = getchar() ) != '\n')
{
b=b-32;
if (b>0)
{
putchar(b);
}
else
{
if (z>=2)
{
putchar(b);
}
else
{
z=z+1;
printf(" ");
}
}
}
}
最佳答案
它似乎为我生成了所有字母...您是否尝试过对其进行跟踪,以找出输入的字符在每一步中的作用?
关于c - Putchar,getchar,while循环中缺少字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9700245/