当前位置: 代码迷 >> C语言 >> [讨论]各位前辈给点意见
  详细解决方案

[讨论]各位前辈给点意见

热度:178   发布时间:2007-10-17 11:01:04.0
[讨论]各位前辈给点意见
#include "stdio.h"
main()
{int a,b,t;
scanf("%d%d",&a,&b);
if(t=a,a=b,b=t);
printf("%d,%d",a,b);
}
这个程序是我自己编的,绝无抄袭。
题目是:试编写一个程序,从键盘输入变量a和b的值,将他们打印出来;
然后将二者进行交换,并打印交换后的a,b值。
例如:a和b的输入值分别是5和8,交换后,a的值为8而b的值为5。

请问我这样做对吗?
搜索更多相关的解决方案: 前辈  意见  

----------------解决方案--------------------------------------------------------
你用IF 干什么?有两个WARNING

#include "stdio.h"
void main()
{int a,b,t;
scanf("%d%d",&a,&b);
(t=a,a=b,b=t);
printf("%d,%d",a,b);
}
这样就OK了
----------------解决方案--------------------------------------------------------
以下是引用万兽无缰在2007-10-17 11:18:03的发言:
你用IF 干什么?有两个WARNING

#include "stdio.h"
void main()
{int a,b,t;
scanf("%d%d",&a,&b);
(t=a,a=b,b=t); //这一行没有问题吗?
printf("%d,%d",a,b);
}
这样就OK了

这一行是什么意思? 没有见过.


----------------解决方案--------------------------------------------------------
不是什么都要用if的...




----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{
 int a,b,t;
 scanf("%d%d",&a,&b);
 t=a;
 a=b;
 b=t;
 printf("%d,%d",a,b);
}

这样就行了!
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
a = a + b;
b = a - b;
a = a - b;
printf("%d %d\n", a, b);
}

或者
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
a ^= b;
b ^= a;
a ^= b;
printf("%d %d\n", a, b);
}

----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{int a,b,t;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d",a,b);
printf("a=%d,b=%d",b,a);
getch();
}

----------------解决方案--------------------------------------------------------

错了 上边的t可以不要 我是复制的LZ的 直接加了个输出!!


----------------解决方案--------------------------------------------------------

多谢你们的意见


----------------解决方案--------------------------------------------------------
a = a + b;
b = a - b;
a = a - b;
这三行,每行表示什么意思?
----------------解决方案--------------------------------------------------------
  相关解决方案