#include<stdio.h>
func( int a, int b)
{ int c;
c=a+b;
return c;
}
main()
{ int x=6, y=7, z=8, r;
r=func( x–,y==,x+y),z–);
printf(“%d\n”,r);
}
上面程序的输出结果是
A) 11 B) 20 C) 21 D) 31
感觉这个题目有问题:
func( int a, int b)
{ int c;
c=a+b;
return c;
}
函数调用结束后,C已经不存在.
>> 本文固定链接: http://www.vcgood.com/archives/1040
>> 转载请注明: peterzhu_1 2006年09月03日 于 C语言帝国 发表
没问题的.
这个是返回值而不是返回地址.c在函数结束的时候已经销毁了,但值已经复制到返回的地址空间里了.
如果你这样返回
return &c;
就错误了.
请问:主函数中
r=func( x–,y==,x+y),z–);
是什么意思?