g*****e 发帖数: 110 | 1 很简单的c代码,求助为什么运行结果不对?
输入 abc回车,然后要输出abc
目前只输出b
#include
int main() {
char str[15];
int i = 0;
printf("input a string:\n");
while (getchar() != '\n')
{
str[i] = getchar();
printf("%c", str[i]);
i++;
}
return 0;
} |
l*****a 发帖数: 14598 | 2 第一个getchar()读了没保留
第二个b保留了
第三个又没保留
【在 g*****e 的大作中提到】 : 很简单的c代码,求助为什么运行结果不对? : 输入 abc回车,然后要输出abc : 目前只输出b : #include : int main() { : char str[15]; : int i = 0; : printf("input a string:\n"); : while (getchar() != '\n') : {
|
g*****e 发帖数: 110 | 3 多谢!
代码哪里错了?求指点
【在 l*****a 的大作中提到】 : 第一个getchar()读了没保留 : 第二个b保留了 : 第三个又没保留
|
t********5 发帖数: 522 | 4 我居然还能看得懂c 哈哈哈哈哈
大概就是这个意思了 不知道能不能编译。。。
while (getchar() != '\n')
{
str[i] = getchar();
printf("%c", str[i]);
i++;
}
=>
while (True)
{
char ch = getchar()
if(ch == '\n') {
break;
}
str[i] = ch;
printf("%c", str[i]);
i++;
} |
g*****e 发帖数: 110 | 5 多谢。懂了。
【在 t********5 的大作中提到】 : 我居然还能看得懂c 哈哈哈哈哈 : 大概就是这个意思了 不知道能不能编译。。。 : while (getchar() != '\n') : { : str[i] = getchar(); : printf("%c", str[i]); : i++; : } : => : while (True)
|