求助,以下代码无论输入什么数,结果都是50
本帖最后由 Husing 于 2020-10-12 10:39 编辑#include <stdio.h>
int main()
{
int x, y, z, a;
printf("输入三个数:");
scanf("%d %d %d", &x, &y, &z);
if (x>y) a=x;
else a=y;
if (z>a) printf("较大值为%d", z);
else printf("较大值为%d", a);
return 0;
} 不是卡住了。是你的程序有问题
scanf是该给出变量的地址,你给的是变量名
#include<stdio.h>
int main()
{
int x, y, z, a;
printf("输入三个数:");
scanf("%d %d %d", &x,&y, &z);//这里给变量地址,需要加&符号
if (x>y)
a=x;
else
a=y;
if (z>a)
printf("较大值为%d", z);
else
printf("较大值为%d", a);
return 0;
} 本帖最后由 sunrise085 于 2020-10-12 11:03 编辑
哎,第一次回答你的这个帖子的时候,帖子不是这样在的啊。。。现在的错误也和之前不一样了。。
估计是你输入与scanf的格式不一样吧
你再scanf之后printf打印一下xyz的值,看一下
scanf使用要注意,一般不在格式化字符之间添加任何字符,scanf默认是以空白符(空格、Tab、回车)作为多个变量(%c除外)之间的分隔符。
你的程序中scanf内三个%d之间都有空格,你输入的时候是否输入空格了?
页:
[1]