我是C语言的学习者和新手。我正在使用C进行数字猜谜游戏,但执行不正确,我的if语句未在此代码中执行,请帮忙。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
int num, guess, count;
count = 1;
srand(time(0));
num = (rand()%10 + 1);
do
{
printf("Guess the number: \n");
scanf("%d", guess);
if(guess>num)
{
printf("too large");
}
else if(guess<num)
{
printf("too small");
}
else
{
printf("you won!\nIn %d count.", count);
}
count++;
}while(guess != num);
return 0;
}
代码应该输出为
Guess the number
5
too small!
Guess the number
7
You won in 2 count
但是,如果执行else语句并在scanf函数后中断循环,则不会执行。请帮忙。
答案 0 :(得分:1)
您的scanf错误:
scanf("%d", guess); // should be scanf("%d", &guess);
答案 1 :(得分:0)
您的if语句没有问题。问题在于scanf()接受格式字符串和指针,但不接受格式和非指针变量。