大佬为什么这个只会回复我else
#include <stdio.h>int main()
{
char is, ie, im;
printf("是否有空?");
scanf("%s", &is);
getchar();
printf("一起吃饭?");
scanf("%s", &ie);
getchar();
printf("在哪吃?");
scanf("%s", &im);
if (is == "有")
{
if (ie == "干饭去")
{
printf("记得带钱\n"); \\不能回复完“干饭去”就马上判断符不符合输出“记得带钱”和“不吃”嘛 一定要全部都回答完才会统一打印
}
else
{
printf("不吃\n");
}
if (im == "楼下")
{
printf("快点\n");
}
}
else
{
printf("不\n"); \\输入什么都只会输出这个是为什么
}
return 0;
}
#include <stdio.h>
int main()
{
char bf;
printf("小明你有手机嘛?\n");
scanf("%s", &bf);
if ("有" == bf)
{
printf("俺也一样\n");
}
else
{
printf("那你别玩\n");
}
return 0;
}
我帮你改好了,首先你这个逻辑上就不太好,应该是一问一答的好吧。
你问人家有时间吗?人家说没时间-》你又问去吃饭吗?-》这!-》不太合理
所以修改后的代码如下:解释全在注释里:
第一个代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char is;//你输入的是字符串不是字符啊
char ie;
char im;
printf("是否有空?(有)");
scanf("%s",is);
//而且判断的话需要用strcmp函数
if (strcmp(is,"有")==0)//等于0表示相等
{
printf("一起吃饭?(干饭去)");
scanf("%s",ie);
printf("\n");
if (strcmp(ie,"干饭去")==0)
{
printf("在哪吃?(楼下)");
scanf("%s",im);
if (strcmp(im,"楼下")==0)
{
printf("快点\n");
printf("记得带钱,哈哈\n"); //不能回复完“干饭去”就马上判断符不符合输出“记得带钱”和“不吃”嘛 一定要全部都回答完才会统一打印
}else{
printf("那你说去哪呢?");
}
}
else
{
printf("去呗\n");
}
}
else
{
printf("没时间啊~\n"); //输入什么都只会输出这个是为什么
}
return 0;
}
第一个代码运行结果如下:
第二个程序如下:
#include <stdio.h>
#include <string.h>
int main()
{
char bf;//同样是字符串需用数组
printf("小明你有手机嘛?\n");
scanf("%s",bf);
if (strcmp(bf,"有")==0)
{
printf("俺也一样\n");
}
else
{
printf("那你别玩\n");
}
return 0;
}
第二个程序的运行结果如下:
结束,希望有点用吧{:5_110:} 肖-肖 发表于 2021-4-10 16:59
我帮你改好了,首先你这个逻辑上就不太好,应该是一问一答的好吧。
你问人家有时间吗?人家说没时间-》你又 ...
谢谢大佬我悟了 本帖最后由 肖-肖 于 2021-4-10 23:11 编辑
辉打才子 发表于 2021-4-10 23:01
谢谢大佬我悟了
嗯嗯 明白了就行
页:
[1]