为什么删掉最后一行,猜对的次数不显示?
麻烦高人指点,谢谢。
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
main(){
int a=0,b,i=1;
srand((unsigned)time(NULL));
a=rand()% (100-1+1)+1;
scanf("%d",&b);
if(a==b)
printf("你输对了,总共输入1次");
while(a!=b){
if(b<a)
printf("你输入的数小了\n");
else {
if(a==b)
printf("你输入对了,输入%d次",i);
else
printf("你输入的数大了\n");}
scanf("%d", &b);
i++;}
}
printf("你输入对了,输入%d次",i);
}
print("你输入对了,输入次数%d",i);
你是指把这一行删了吗?
如果是这个,它这里面的 i 就是用来记录你猜的次数,起到一个计数功能,
每当你 19行 scanf那里输入一个数,紧随其后的i++;
(i=i+1)就会加一,更新你猜的次数
printf是起到打印输出功能,你如果把它删了的话,猜的次数自然就不会显示。
那就是你一次也没猜中呗
具体一点儿怎么说?
如果一次猜对,第一次输出就完成了。
如果不是第一次猜对,当猜对时while直接结束了。
可以直接用while是否结束来判断是否猜对,在最后输出