对于课程作业,我必须创建一个轮盘赌轮(欧洲):
到目前为止,我已经使用for循环为车轮设置了动画,并且有一个落在随机数字上的球。
我试图为用户输入编写一些代码
int bet[3];
int result;
scanf( "%d" , &bet);
if (bet >=0 && bet <= 36); result = 1;
printf("Your bet is number %d", &bet);
当输入赌注到stdin控制台时,程序不会显示printf函数的内容,只是直接进入动画。任何建议或帮助改善用户输入将不胜感激
答案 0 :(得分:1)
您需要使用换行符终止输出以刷新输出缓冲区
printf("Your bet is number %d\n", &bet);
// ^^ newline to flush output buffer
另外,您实际上不需要输入3个整数的数组。单int
就足够了
int bet;
scanf("%d", &bet);
// ...
printf("Your bet is number %d\n", bet);
如果要保留3个整数的数组,则需要更改代码
int bet[3];
int result;
scanf( "%d" , &bet[1]); // or &bet[0] or bet + 2
if (bet[1] >=0 && bet[1] <= 36); result = 1;
printf("Your bet is number %d", bet[1]);
另外(我在编辑上面的代码时注意到)你的if
行中有一个额外的分号
if (bet >=0 && bet <= 36); result = 1;
// ^ ???
result = 1;
不属于if
。
答案 1 :(得分:0)
if (bet >=0 && bet <= 36); result = 1;
这不做你想做的事。 if
语句后面的分号很可能是错误的。现在,result
将始终设置为1.
相反:
if (bet >=0 && bet <= 36) {
result = 1;
}