新手求助
#include <stdio.h>int main()
{
char time,rain;
printf("今天有没有时间?");
scanf("%s",&time);
printf("今天是否下雨?");
scanf("%s",&rain);
if (time==' y')
{
if(rain == 'y')
{
printf("记得带伞蛤");
}
else
{
printf("没啥");
}
}
else
{
printf("我太惨了");
}
}
不管怎么摁都是一个结果{:10_266:} 你的错误在第9行:if (time==' y'),改为:if (time == 'y'),就正常了 y指的是啥?yes? 空格不能乱空的,你用单引号加空格加y单引号,判断函数本来是判断是否为字符y,结果要判断是否为字符串 空格+y,能不出错吗? A-Z 发表于 2020-9-23 22:47
y指的是啥?yes?
他输入的y 是 Yes or No #include <stdio.h>
int main()
{
char time,rain;// 字符输入用%c
printf("今天有没有时间?");
scanf("%c",&time);
getchar();// 吃掉回车
printf("今天是否下雨?");
scanf("%c",&rain);
if (time=='y')// ' y'空格去掉
{
if(rain == 'y')
{
printf("记得带伞蛤");
}
else
{
printf("没啥");
}
}
else
{
printf("我太惨了");
}
} 来学习 除了他们说的你的空格问题之外,还有一个,就是输入不能%s,你上面的两个变量只是char类型。所以要%c。不然,这个解决了还有那个 405794672 发表于 2020-9-24 19:14
除了他们说的你的空格问题之外,还有一个,就是输入不能%s,你上面的两个变量只是char类型。所以要%c。不然 ...
理论上,输入单个字符用 %c,输入字符串用 %s,但对于本题,无论是仅仅输入单个的 y (或者 n),还是输入字符串 yes (或者 no),用 %s 都不会出错,也即输出都是正常的,结果也是正确的。
你不妨试试 baige 发表于 2020-9-23 23:09
感谢辣大佬{:10_257:} 风过无痕1989 发表于 2020-9-23 22:45
你的错误在第9行:if (time==' y'),改为:if (time == 'y'),就正常了
感谢大佬指出错误
{:10_257:}
页:
[1]