关于再赋值(换值)的问题
#include <stdio.h>
int index=0;
int huan(int z,int x)
{index=z;
x=index;
printf("%d--%d--%d\n",index,x,z);
}
int q=1,a=99;
int main()
{
huan(q,a) ;
printf("%d",a);
return 0;
}
输出:1--1--1
99
问为什么a的值没换.应该怎么换?
#include <stdio.h>
int index=0;
int huan(int z,int x)
{index=z;
x=index;
printf("%d--%d--%d\n",index,x,z);
}
int q=1,a=99;
int main()
{
huan(q,a) ;
printf("%d",a);
return 0;
}
输出:1--1--1
99
问为什么a的值没换.应该怎么换?
2018-07-13
#include <stdio.h>
int index;
int huan(int z,int x) {
index=x;
x=z;
return x;
}
int q=1,a=99;
int main(){
int c;
c=huan(q,a) ;
printf("a=%d",c);
return 0;
}
运行结果:
hello.c:2:5: warning: built-in function 'index' declared as non-function int index; ^~~~~ a=1
index是空的,不要赋值(赋值为0也是赋值)
huan(int z,int x)是一个int型函数,不是void,所以要有返回值,你没写return。
不知道这是不是你需要的答案
举报