首页 > 试题广场 > 有如下C语言程序 #include  <st
[单选题]
有如下C语言程序
#include  <stdio.h>
int fun(int * data)
{
*data = *data % 2;
return (*data) + 1;
}
int main() 
{
int data = 12;
fun(&data);
printf("%d,", data);
data = fun(&data);
printf("%d", data);
}

程序运行后的输出结果是
  • 0,0
  • 0,1
  • 1,2
  • 12,13
需要注意第一个printf上一句代码是fun(&data),不是data = fun(&data),没有获取fun的返回值,所以data是0,不是1
发表于 2019-09-23 20:23:52 回复(0)
&data取地址,所以fun函数运行过后data的值会改变,第一次变为0,第二次是将函数值返回付给data,因此0+1等于1.
发表于 2019-09-12 15:34:27 回复(0)
0%2=0
发表于 2019-12-25 09:29:06 回复(0)