C语言程序,请大家帮我看一下我编写的这个程序有问题吗?本人是初学者。
#include<stdio.h>main(){inta;printf("请选择答案:");printf("2+5=?\n");printf("A.8\nB.7\nC.6...
#include<stdio.h>
main()
{
int a;
printf("请选择答案:");
printf("2+5=?\n");
printf("A.8\nB.7\nC.6\nD.9\n");
scanf("%c",&a);
if(a=='A')
printf("错误,你真是个傻瓜!");
if(a=='B')
printf("正确,你很棒!");
if(a=='C')
printf("错误,你再笨不过了!");
if(a=='D')
printf("错误,你还能再傻一点吗?");
if(a!='A'&&a!='B'&&a!='C'&&a!='D')
printf("错误,没有这个选项!");
}
为什么不用逻辑或“||"而用逻辑与“&&”呢? 展开
main()
{
int a;
printf("请选择答案:");
printf("2+5=?\n");
printf("A.8\nB.7\nC.6\nD.9\n");
scanf("%c",&a);
if(a=='A')
printf("错误,你真是个傻瓜!");
if(a=='B')
printf("正确,你很棒!");
if(a=='C')
printf("错误,你再笨不过了!");
if(a=='D')
printf("错误,你还能再傻一点吗?");
if(a!='A'&&a!='B'&&a!='C'&&a!='D')
printf("错误,没有这个选项!");
}
为什么不用逻辑或“||"而用逻辑与“&&”呢? 展开
5个回答
展开全部
#include<stdio.h>
int main()
{
char a; //因为你后面比较的是字符,输入的也是字符,所以变量定义成字符较好,不然每个比较都需要强转
printf("请选择答案:");
printf("2+5=?\n");
printf("A.8\nB.7\nC.6\nD.9\n");
scanf("%c",&a);
if(a=='A')
printf("错误,你真是个傻瓜!");
else //如果选项是A,则a一定不是B C D,所以加上else,不然程序凭空多做好几次判断
if(a=='B')
printf("正确,你很棒!");
else
if(a=='C')
printf("错误,你再笨不过了!");
else
if(a=='D')
printf("错误,你还能再傻一点吗?");
else
if(a!='A'&&a!='B'&&a!='C'&&a!='D') //即不是A同时也不是B C D不是&&(与)关系吗 其实有了前面的else,这个if语句可以不写!
printf("错误,没有这个选项!");
return 0;
}
int main()
{
char a; //因为你后面比较的是字符,输入的也是字符,所以变量定义成字符较好,不然每个比较都需要强转
printf("请选择答案:");
printf("2+5=?\n");
printf("A.8\nB.7\nC.6\nD.9\n");
scanf("%c",&a);
if(a=='A')
printf("错误,你真是个傻瓜!");
else //如果选项是A,则a一定不是B C D,所以加上else,不然程序凭空多做好几次判断
if(a=='B')
printf("正确,你很棒!");
else
if(a=='C')
printf("错误,你再笨不过了!");
else
if(a=='D')
printf("错误,你还能再傻一点吗?");
else
if(a!='A'&&a!='B'&&a!='C'&&a!='D') //即不是A同时也不是B C D不是&&(与)关系吗 其实有了前面的else,这个if语句可以不写!
printf("错误,没有这个选项!");
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(a!='A'&&a!='B'&&a!='C'&&a!='D')如果改成 “||”,意思是只要一个为真,后面的就不用判断了,判断结果为真,执行if里面的语句。所以这里不能用“||”,因为如果用“||”,当你输入“B”的时候,这句话 printf("错误,没有这个选项!");也会被执行。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用“||”无论你输入什么都会输出"错误,没有这个选项!"的。用“||”满足其中一个条件语句为真,“&&”需要满足所有条件语句才为真。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-11-03
展开全部
它在此是表示出去A.B.C.D四个选项若用“或”的话,只要有一个成立则表达式就成立的,与题目要求不一,因此只能用“与”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(a!='A'&&a!='B'&&a!='C'&&a!='D')如果用逻辑或的话,其中一个条件必要会成立,则总会运行printf("错误,没有这个选项!");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询