C语言运行程序显示为什么有乱码?

#include<stdio.h>
#include"math.h"
int searchDiv(int n)//求n的约数个数
{
int count=2,j;//count=2(1和本身是自己的约数)
if(n<2) return 1;

for(j=2;j<=n/2;j++)//只用判断到n/2

if(n%j==0)
count++;
return count;
}
int foundMaxdiv(int a,int b)
{
int max=0;
int i;
for(i=a;i<=b;i++)
{ if(max<searchDiv(i))
max=searchDiv(i);
}
return max;
}

void main()
{
int a,b,num;
printf("请输入两个数a和b:%d,%d\n",a,b);
scanf("%d,%d",&a,&b);
num=foundMaxdiv(a,b);//调用函数
printf("a和b之间约数个数最多的数为:%d\n",num);
}

你写代码时的编码不正确,如果有中文有有可能出现乱码
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-04
提示语句printf("请输入两个数a和b:%d,%d\n",a,b);中的输出变量a、b还没有赋值造成了输出垃圾值的错误。把这句提示改为printf("请输入两个数a和b:\n");就解决了!
第2个回答  2016-06-09
编码问题,有的编码不支持中文,在编写时更改下源文件的编码即可,一般都是UTF-8编码。
第3个回答  2016-06-16
因为 a 和 b 没有赋值,所以取得的 是内存中的垃圾值,还有这个一般不称为乱码
第4个回答  2016-06-01
你的a,b还没有初始化所以里边存的是最小值
还有 ,,你的printf改成这样
printf("请输入两个数a和b\n");
因为这只是一句提示的话 提示接下来输入什么
相似回答