【发布时间】:2020-02-26 23:29:23
【问题描述】:
假设有人正在写一些文本。我的程序必须扫描该文本,然后将所有字符相互打印。但是,它应该只读取输入直到 * 出现。所以当输入是“Hello*darling”时,它应该只读取“Hello”。我在 while 循环中使用 * 作为参数,但我的程序扫描的是“Hello*”而不是“Hello”。如何摆脱 *?
#include <stdio.h>
int main()
{
char c1;
while (c1!='*'){
scanf("%c", &c1);
printf("c1: %c \n", c1);
}
return 0;
}
【问题讨论】:
-
OT:这里你使用的是
c1uninitializted:while (c1!='*'){。 -
您在检查是否为“”后读取了 c1 的新值。然后您继续打印。之后循环再次开始,它检查字符是否匹配。直到此刻,''面包车才被检测到。