请大佬帮忙解决一个小问题!谢谢!
想在代码里输入字母来使用IF语句,但是做出来以后发现输入什么字母都会触发第一个if,else好像没起作用。不知道哪里出现了错误。麻烦了,谢谢!下面是代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char a;
printf("欢迎使用分数评级系统!\n\
请您输入Y代表同意用户协议继续\n\
不同意请关闭程序\n\
输入E以查看用户协议\n");
scanf("%c",&a);
if(a = 'Y')
{
printf("感谢您的支持!\n");
}
else if(a = 'E')
{
printf("《用户协议》");
printf("\n\
请您输入Y代表同意用户协议继续\n\
不同意请关闭程序\n");
scanf("%c",&a);
if(a = 'Y')
{
printf("感谢您的支持!");
}
else
{
printf("输入错误!");
}
}
else
{
printf("输入错误!");
}
//分隔
printf("请输入分数:");
scanf("%d",&i);
if(i >= 90)
{
printf("级别为A\n");
}
else if(i >= 80 && i < 90)
{
printf("级别为B\n");
}
else if(i >= 70 && i < 80)
{
printf("级别为C\n");
}
else if(i >= 60 && i < 70)
{
printf("级别为D\n");
}
else
{
printf("级别为E\n");
}
return 0;
}
if(a = 'Y')
在你习惯还没有养成的时候 推荐判断条件写成 if('Y' == a) 确实你的问题出现在了:=和==没分清上。
=:是给变量赋值的意思
==:是判断的运算符
所以你应该用==而不是=。
还有就是你的代码逻辑上是不合理的,你那样写:不管是否同意,都会让别人输入成绩!
所以不对,我改了你的代码:
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,flag;
char a;
printf("欢迎使用分数评级系统!\n\
请您输入Y代表同意用户协议继续\n\
不同意请关闭程序\n\
输入E以查看用户协议\n");
scanf("%c",&a);
if(a == 'Y')
{
printf("感谢您的支持!\n");
flag=1;
}
else if(a == 'E')
{
printf("《用户协议》");
printf("\n\
请您输入Y代表同意用户协议继续\n\
不同意请关闭程序\n");
scanf("%c",&a);
if(a == 'Y')
{
printf("感谢您的支持!");
}
else
{
printf("输入错误!");
}
}
else
{
printf("输入错误!");
}
//分隔
if(flag==1){
printf("请输入分数:");
scanf("%d",&i);
if(i >= 90)
{
printf("级别为A\n");
}
else if(i >= 80 && i < 90)
{
printf("级别为B\n");
}
else if(i >= 70 && i < 80)
{
printf("级别为C\n");
}
else if(i >= 60 && i < 70)
{
printf("级别为D\n");
}
else
{
printf("级别为E\n");
}
}
return 0;
}
运行结果如下:
OK,希望对你有点用吧!{:5_110:} yuxijian2020 发表于 2021-4-9 13:37
在你习惯还没有养成的时候 推荐判断条件写成 if('Y' == a)
谢谢qwq
页:
[1]