c语言运行结果乱码怎么解决?

如题
//找出n个数中最大的数和最小的数,并将它们的值输出出来
#include<stdio.h>
main()
{
int max,min,n,m,i;
printf("输入n:");
scanf("%d",&n);
max=min;
for(i=1;i<=n;i++);
{
printf("输入第%d个数:",i);
scanf("%d ",&m);
if(m>max)
max=m;
if(m<min)
min=m;
}
printf("max=%d\nmin=%d",max,min);
}

发你的代码看看
max与min没有初始化
还有就是for语句后多了一个分号
修改后的代码如下:
#include<stdio.h>
main()
{
int max,min,n,m,i;
printf("输入n:");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
printf("输入第%d个数:", i);
scanf("%d", &m);
if (i==1)
{
max=min=m;
}
else if(m>max)
{
max=m;
}
else if(m<min)
{
min=m;
}
}
printf("max=%d\nmin=%d",max,min);
}追问

怎么初始化?输入值的范围不确定

追答

已给出修改后的代码,你看看

追问

这是我按照你的修改的,还是乱码,你看有没有问题。不过我新建了一个文档把你的粘进去就好了,我怀疑是不是编码方式的问题

追答

你的scanf里面多了一个空格

第二个scanf

追问

修改后还是乱码

追答

你用的是什么工具?

追问

codeblocks

追答

那应该没问题呀,你重新编译过没,代码截图如下:

 

测试结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-16
你程序中max和min都没有初始值,应该给max赋一个比所有输入的数都小的值,给min赋一个背所有输入的数都大值追问

可是输入值的范围没有给定啊,怎么符初始值

追答

那就用一个标记变量,flag=0,如果flag=0说明输入的是第一个数,那就max=min=n(n是输入的整数),flag=1。如果flag=1就进行比较后,改变max,min的值。

第2个回答  2020-12-25

securecrt乱码怎么办

第3个回答  2014-07-16
是不是输出格式不对,要不就是有变量没有初始化

min没有初始化
第4个回答  2014-07-16
应该是内存泄露导致的
相似回答