为什么我的VC++6.0里编译的C程序结果总是不对
比如说一个很简单的程序#include<stdio.h>voidmain(){inta,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b){...
比如说一个很简单的程序
#include<stdio.h>
void main()
{
int a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
}
比如我输入10 20 30
它输出应该是10 20 30
但是我的VC++6.0输出的却是-858993460,-858993460,10
这个为什么哦?
那个INT是我打错了。
我换了%D还是一样的。
但是我编写其他程序却没出什么问题。目前好像也就这种比较类的程序出过这种问题。 展开
#include<stdio.h>
void main()
{
int a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
}
比如我输入10 20 30
它输出应该是10 20 30
但是我的VC++6.0输出的却是-858993460,-858993460,10
这个为什么哦?
那个INT是我打错了。
我换了%D还是一样的。
但是我编写其他程序却没出什么问题。目前好像也就这种比较类的程序出过这种问题。 展开
4个回答
展开全部
要注意你定义变量的类型要和你在使用scanf()和printf()函数中的“格式化字符串”的类型要匹配,否则会强行转换,下面是我修改好的程序,你可以运行一下。
#include<stdio.h>
void main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
printf("%d,%d,%d\n",a,b,c);
}
#include<stdio.h>
void main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
printf("%d,%d,%d\n",a,b,c);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
换成 %d 试试 把整型转浮点型 在scanf的时候可能会有问题~
把int 改成flaot 我运行了 没问题……
把int 改成flaot 我运行了 没问题……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入10,20,30试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询