感谢大佬
追答if(a==b&&b==c)printf("为等边三角形\n");
此处写错了,对不起😭。
追问麻烦了 大佬
麻烦大佬在帮我看一看 我哪里错了
错误点有三个:
1、switch(表达式)
switch后面括号里只能放“表达式”,我们知道表达式只能有一个值。
而你的switch(a,b,c)会被系统解释为“逗号表达式”,而逗号表达式的值只是最后那个逗号后面的值(本例中是等于c),所以,switch(a,b,c)执行的时候相当于:
switch(c)
这样的运行不是你想要的结果吧?
2、关于case 1:的执行,就是程序先比较switch后面的表达式的值(c)是否等于case后面的值(1),即c是否等于1。如果相等,则执行冒号后面的语句,此处如果c的值是1,则执行后面的a==b==c及下一句打印;如果≠1,则越过后面的语句,直接再去比较下一个case语句。
我想判断c是否等于1,也不是你的本意吧?
3、
可以帮我改一下不
追答不用switch吧?
int GC(int a, int b, int c) {
if ((a == b) && (a == c))
printf("l");
return 0;
}
嗯嗯感谢