int func(int a)
{
a = 20;
return a;
}
int func1(int a)
{
a = 20;
return a;
}
void test()
{
int a = 10;
func(a);
printf("a = %d\n", a);
void test1()
{
int a = 10;
int b = 0;
b = func1(a);
printf("b = %d\n", b);
}
int main()
{
test();
test1();
return 0;
}
a = 10
b = 20
这两种不都是值传递吗?为什么在实参中有值接收形参的返回值时,test0就可以改变实参的值。
他不应该和test一样吗?