C语言里面试的问题
第1题:#include<stdio.h>
unsigned short * Sum(unsigned char x, unsigned char y)
{
unsigned short s = 0;
s = x + y;
return &s; //........记为 语句1,第2题将替换掉此处
}
int main()
{
unsigned short *p = NULL;
unsigned char a=1, b=2;
p = Sum(a+b);
printf("%u + %u" , a,b);
printf("=%u\n" , *p);
}
A.1+2=0 B.1+2=3 C.1+2=NULL D.不确定
请问选择哪一个? 请详细解释一下!!
第2题:如果将上面的语句1改为return s; 结果如何?请解释!!
还有就是想问下,这个程序怎样修改下,才能在编译器里运行检测...我试了下,问题一大推...不知如何改,才能在编译器里测试这类问题...求教!