宏定义
#include <stdio.h>#define swap(x,y) {int a;a=x;x=y;y=a;}
main ()
{
int a,b,i;
for(i=0;i<10;i++)
{
scanf("%d",&a);
}
for(i=0;i<10;i++)
{
scanf("%d",&b);
}
for(i=0;i<10;i++)
{
swap(a,b);
}
for(i=0;i<10;i++)
{
printf("%d",a);
}
printf("\n");
for(i=0;i<10;i++)
{
printf("%d",b);
}
printf("\n");
}
用带参宏实现数组a和数组b的值的交换,麻烦看看这个错在哪,编译错了,不知道怎么改 #include <stdio.h>
#define swap(x , y) {int a ; a = * x ; * x = * y ; * y = a ;}
main ()
{
int a , b , c , d , i ;
printf("现在输入数组 a:\n") ;
for(i = 0 ; i < 10 ; i ++) scanf("%d" , & a) ;
printf("现在输入数组 b:\n") ;
for(i = 0 ; i < 10 ; i ++) scanf("%d" , & b) ;
for(i = 0 ; i < 10 ; i ++) {
c = a , d = b ;
swap(& c , & d) ;
a = c , b = d ;
}
printf("数组 a:\n") ;
for(i = 0 ; i < 10 ; i ++) printf("\t%d\n" , a) ;
printf("\n") ;
printf("数组 b:\n") ;
for(i = 0 ; i < 10 ; i ++) printf("\t%d\n" , b) ;
printf("\n") ;
}
编译、运行实况:
C:\Bin>g++ -o swap swap.c
C:\Bin>swap
现在输入数组 a:
1
2
3
4
5
6
7
8
9
10
现在输入数组 b:
10
20
30
40
50
60
70
80
90
100
数组 a:
10
20
30
40
50
60
70
80
90
100
数组 b:
1
2
3
4
5
6
7
8
9
10
C:\Bin>
页:
[1]