有如下程序
#include <stdio.h>
int convert(int* data)
{
return (*data) ++;
}
main( )
{
int data = 56;
convert(&data);
printf("%d,", data);
data = convert(&data);
printf("%d,\n", data);
}
第一次是57 加了1 第二次还是57?为什么
看一下,这样是不一样的。
data = convert(&data);是返回的是之前的值,注意++i,和i++的区别。
写代码的时候不要写这种让人理解起来不方便 的写法,拆成两句吧。