首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在while循环中扫描多个输入?

如何在while循环中扫描多个输入?
EN

Stack Overflow用户
提问于 2012-09-27 09:31:45
回答 2查看 2.7K关注 0票数 0
代码语言:javascript
复制
while((player1chip==-1)||(player2chip==-1)||(player3chip==-1)){                                                              
    player1chip=-1; player2chip=-1; player3chip=-1;                                                       
    printf("How many chips would you like to play with (3-10):\n");
    scanf("%d%d%d", &player1chip, &player2chip, &player3chip);
    getchar();
}

我想一次得到3个值,但循环似乎已经运行了3次…我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2012-09-27 09:37:32

代码语言:javascript
复制
int p1chip=-1, p2chip=-1, p3chip=-1;
do {
  printf("How many chips would you like to play with (3-10)?\n");
  scanf("%d%d%d", &p1chip, &p2chip, &p3chip);
} while ((p1chip == -1) || (p2chip == -1) || (p3chip == -1))

试试看。

票数 0
EN

Stack Overflow用户

发布于 2012-09-27 13:14:43

scanf()语句对于您正在尝试做的事情有点奇怪,因为您说您需要使用"%d%d%d“没有分隔的三个数字。如果while循环的目的是填充playerchip变量,则应该对它们使用一个数组并迭代该数组,如下所示:

代码语言:javascript
复制
playerchip[3];   
for(int i=0; i<3; i++) {
    printf("How many chips would player %d like to play with (3-10)?:\n", i);
    scanf("%d", &playerchip[i]);
}

如果您保留您的命名方案,则不能使用循环轻松地填充变量。不过,为了回答您最初的问题,要一次获取多个数字,您需要在scanf()语句中使用一些分隔符:

代码语言:javascript
复制
scanf("%d %d %d", &a, &b, &c);

这样,每个人都知道一个数字何时结束,另一个何时开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12612831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档