这两代码有什么区别?
NO 1 :#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(a<c)
{t=a;a=c;c=t;}
if(b<c)
{t=b;b=c;c=t;}
printf("big to small :%d %d %d\n",a,b,c);
}
NO 2 :#include<stdio.h>
void main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if(a<b)
{t=a;b=t;a=b;}
if(a<c)
{t=a;c=t;a=c;}
if(b<c)
{t=b;c=t;b=c;}
printf("big to small :%d %d %d\n",a,b,c);
}
第一个能正常输出 第二个不行 问题在哪?
我觉得这两个意思一样的嘛 第二个哪里不对了? --------------------编程问答-------------------- if(a<b)
{t=a;b=t;a=b;}
//如果a=1;b=3;这样操作之后a,b都为1了,顺序不对 --------------------编程问答-------------------- 就是赋值的时候有先后顺序哦!呵呵! --------------------编程问答-------------------- {t=a;b=t;a=b;}? --------------------编程问答-------------------- 我很努力地找茬
也觉得是一样的
你是不是没有完全贴代码出来
用到指针了
还有来错区了
去C++ 或C区问问把 --------------------编程问答-------------------- if(a<b)
{t=a;b=t;a=b;}//b已被a覆盖
if(a<c)
{t=a;c=t;a=c;}//同理,c被a
if(b<c)
{t=b;c=t;b=c;}//
--------------------编程问答-------------------- --------------------编程问答-------------------- 你的第二段程序中的 if语句写的都不对,哪有这样交换数值的,你自己在好好考虑考虑就知道错在什么地方了,最好是将abc都赋值后你就更清除了
if(a<b)
{t=a;b=t;a=b;}
if(a<c)
{t=a;c=t;a=c;}
if(b<c)
{t=b;c=t;b=c;}
--------------------编程问答-------------------- 兄弟。。这两个函数都不正常,你准备做嵌入式吗?如果不是,请直接学习C#,而不是C语言。感觉C#比C可爱的多 --------------------编程问答-------------------- 代码1:
if(a<b)
{t=a;a=b;b=t;}
代码2:
if(a<b)
{t=a;b=t;a=b;}
赋值注意先后顺序,同理其他自己改吧
补充:.NET技术 , C#