我想知道如何在变量时使用use循环。如果stdin来自文件,它应该循环直到遇到'*'。只要它获得它应该迭代的价值。
while(a!='*')
{
scanf("%d",&a);
...
....
....
....
}
答案 0 :(得分:2)
如果您想立即终止,请阅读'*'
,
for (;;) {
scanf("%d", &a);
if (a == '*') {
break;
}
....
}
或者,如果'*'
是您应该处理的最后一个值,则可以使用
do {
scanf("%d", &a);
....
} while (a != '*');
请注意,我已经接受了WhozCraig和Armin的建议,并更改了您的scanf
行以传递a
的地址。如果a
已经是指针类型,则应该更改比较以取消引用它 - 例如*a == '*'
。 (在后一种情况下,您还需要确保已分配指向的内存a
。)
答案 1 :(得分:2)
怎么样:
char a;
while (scanf("%c", &a) == 1 && a != '*')
{
}
将格式说明符更改为%c
,在a
的地址中传递并检查scanf()
的返回值,以确保读取有效的char
。
答案 2 :(得分:0)
也许你想在while循环中使用do {}。