0

例如,我想知道如何在使用变量时使用循环。如果标准输入来自文件,它应该循环直到遇到“*”。只要它获得 a 的价值,它就应该迭代。

    while(a!='*')
   {
         scanf("%d",&a);
         ...
           ....
          ....
         ....

      }
4

3 回答 3

2

如果你想立即终止你阅读 a '*',怎么样

for (;;) {
    scanf("%d", &a);
    if (a == '*') {
        break;
    }
    ....
}

或者,如果'*'是您应该处理的最后一个值,您可以使用

do {
    scanf("%d", &a);
    ....
} while (a != '*');

请注意,我接受了 WhozCraig 和 Armin 的建议,并更改了您的scanf线路以传递a. 如果a已经是指针类型,则比较应该更改以取消引用它 - 例如*a == '*'. (在后一种情况下,您还需要确保分配了a指向的内存。)

于 2013-02-20T17:25:58.970 回答
2

怎么样:

char a;
while (scanf("%c", &a) == 1 && a != '*')
{
}

将格式说明符更改为%c,传入地址a并检查返回值scanf()以确保char读取有效。

于 2013-02-20T17:28:37.850 回答
0

也许您想改用 do { } while 循环。

于 2013-02-20T17:24:02.293 回答