以下是引用从心在2018-11-29 00:50:37的发言:
#include <stdio.h>
int change(int a,int b)
{
int temp;
temp=a;
a=b;
b=temp;
}
int add(int a,int b)
{
a+b;
}
int main()
{int a=4;b=5;
printf("%d",change(a,b));
printf("%d",add(a,b));
return 0
}
为什么此代码运行出来change为a=4,b=5;add=5
提供的代码运行不出来什么结果,要改:
#include <stdio.h>
void change(int *a,int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
int add(int a,int b)
{
return a+b;
}
int main()
{
int a=4, b=5;
change(&a, &b);
printf("%d %d\n", a, b);
printf("%d", add(a,b));
return 0;
}