|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
//有如下程序
#include <stdio.h>
int convert(int* data)
{
return (*data) ++;
}
main( )
{
int data = 56;
convert(&data);
printf("%d,", data);
data = convert(&data);//这里data=58
printf("%d,\n", data);//为什么这里data=57?
}
/*程序运行后的输出结果是
A) 56,57,
B) 57,58,
C) 57,57,
D) 55,57,
为什么第二个输出是57?*/
convert函数的作用是返回data的值,然后给data加1
main函数中,使用了一次convert之后,data变为57
下一次执行convert的时候因为把返回值赋给了data,
所以此时的data是57
如果没有赋值语句,则data的值会变成58
可以使用如下代码验证
- //有如下程序
- #include <stdio.h>
- int convert(int* data)
- {
- return (*data) ++;
- }
- main( )
- { int d;
- int data = 56;
- convert(&data);
- printf("%d,", data);
- d = convert(&data);//这之后data为58
- printf("%d,%d\n", data, d);
- }
复制代码
|
|