#include<stdio.h> main() { char c; c=getchar(); while((c=getchar())!='?') putchar(++c); }

高分请教一下,#include main() { char c; c=getchar(); while((c=getchar())!='?') putchar(++c); }
最新回答
杯酒入怀

2024-12-01 12:17:38

经过编译运行,如果把c=getchar();这句注释掉,就输出rvfsu了
应该是c=getchar();这句把第一个字符q给接收了。后面的语句从u开始接收字符。所以有了vfsu的输出。
说不尽的伤ミ

2024-12-01 11:14:24

你把中间那一句 c=getchar(); 给去掉就可以看到你想要的结果了。
因为你的putchar函数调用是在while循环里面。你最开始的那个字符被while循环里面的getchar给覆盖掉了。我不知道我说清楚没得,额 -_-!
Lonely丶小妞

2024-12-01 08:17:52

很简单第一个 q的时候被你这句吃掉了
c=getcher();
while((c=getchar())!='?')//while 里面的语句只从第二个字符接收起.

如你要求把 //c=getcher();注释掉就好了.
琼瑶式爱情

2024-12-01 00:44:50

while((c=getchar())!='?')这一句语句把先前保存在c中的数据给覆盖了。也就是'q'被后来的'u'覆盖。
叆叇若紫

2024-12-01 01:51:07

++c,先自增,再putchar 如果是c++ 就是先putchar,再++