为什么输入数字7 8 6会出错呢?
#include
int main(void){
int a;
int b;
int c;
int d;
int max;
printf("请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);
if(aelse
max=a;
if(b>c)
max=b;
else
max=c;
if(a>c)
max=a;
else
max=c;
d=max;
printf("max=%d",d);
return 0;
}
#include<stdio.h>int main() {
int a, b, c, max;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
printf("最大值为:%d\n", max);
system("pause");
return 0;
}
这样就可以了
// 简单分析你的程序思路
#if 0
#include<stdio.h>
int main(void)
{
int a;
int b;
int c;
int d;
int max;
printf("请输入三个整数:");
// 输入 7 8 6
scanf("%d%d%d", &a, &b, &c);
if (a < b)
max = b;
else
max = a;
// 因为7<8 此时max=b=8
if (b > c)
max = b;
else
max = c;
// 因为8>6 此时max=b=8
if (a > c)
max = a;
else
max = c;
// 因为7>6 此时max=a=7
d = max;
// 此时d=7;
printf("max=%d", d);
// 输出最大值7
return 0;
}
// 明显是逻辑不正确啊!
// 应该是下面这样写,
"#endif后面的代码"
#endif
#include<stdio.h>
int main(void)
{
int a;
int b;
int c;
int max;
printf("请输入三个整数:");
// 输入 7 8 6
scanf("%d%d%d", &a, &b, &c);
if (a > b)
{
if (a > c)
max = a;
else
max = c;
}
else
{
if (b > c)
max = b;
else
max = c;
}
printf("max=%d", max);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: