本帖最后由 变味的面包 于 2015-4-29 14:57 编辑
用c谢了一个不用第三方参数实现值交换的小程序:
#include<stdio.h>
//在不用引入其他变量的情况下,使用位异或^运算符实现两个变量值的互换 void exchange (int &a , int &b) {
//使用亦或交换 a = a ^ b ;
b = a ^ b ;
a = a ^ b ;
}
int main() { int a = 5, b = 6;
printf("交换前 a = %d,b = %d",a ,b );
exchange(a, b);
printf("交换后 a = %d,b = %d",a ,b );
return 0; }
编译的时候出现以下错误: 位运算.c:8:20: error: expected ')' void exchange (int &a , int &b) ^ 位运算.c:8:15: note: to match this '(' void exchange (int &a , int &b) ^ 位运算.c:8:20: error: parameter name omitted void exchange (int &a , int &b) ^ 位运算.c:12:5: error: use of undeclared identifier 'a' a = a ^ b ; ^ 位运算.c:12:9: error: use of undeclared identifier 'a' a = a ^ b ; ^ 位运算.c:12:13: error: use of undeclared identifier 'b' a = a ^ b ; ^ 位运算.c:14:5: error: use of undeclared identifier 'b' b = a ^ b ; ^ 位运算.c:14:9: error: use of undeclared identifier 'a' b = a ^ b ; ^ 位运算.c:14:13: error: use of undeclared identifier 'b' b = a ^ b ; ^ 位运算.c:16:5: error: use of undeclared identifier 'a' a = a ^ b ; ^ 位运算.c:16:9: error: use of undeclared identifier 'a' a = a ^ b ; ^ 位运算.c:16:13: error: use of undeclared identifier 'b' a = a ^ b ; ^ 位运算.c:27:18: error: too many arguments to function call, expected 1, have 2 exchange( a, b ); ~~~~~~~~ ^ 位运算.c:8:1: note: 'exchange' declared here void exchange (int &a , int &b) ^
12 errors generated.
额 这个报错 我没大看明白 哪里的原因 小伙伴们帮帮忙
|