写一个函数,使得每调用一次函数,num增加1-CSDN博客

74 阅读1分钟
void add(int* p)
{

	*p++;


}

#include<stdio.h>
int main()
{
	int num = 0;
	add(&num);
	printf("%d\n",num);
		add(&num);
	printf("%d\n",num);
		add(&num);
	printf("%d\n",num);
	return 0;
}

我们运行后发现结果是3个0

问题出在哪呢

是因为因为++的优先级比较高,使得++的是p而不是*p

所以我们这样

void add(int* p)
{

	(*p)++;


}

#include<stdio.h>
int main()
{
	int num = 0;
	add(&num);
	printf("%d\n",num);
		add(&num);
	printf("%d\n",num);
		add(&num);
	printf("%d\n",num);
	return 0;
}