printf的参数赋值的顺序

#include <stdio.h>

int main()
{
	int b=3;
	int arr[]={6,7,8,9,10};
	int *ptr = arr;
	printf("%d\n",*ptr);
	*(ptr++) += 123;
	printf("%d,%d\n",*ptr,*(++ptr));

	//printf的参数赋值顺序是从右向左
	int i=5;
	printf("%d,%d\n",i++,i);//5,5
	i=5;
	printf("%d,%d\n",++i,i);//6,5
	i=5;
	printf("%d,%d\n",i,i++);//5,5
	i=5;
	printf("%d,%d\n",i,++i);//6,6
}

评价:

(1)、自增符号在变量前面,则变量先自增再参与其他运算;自增符号在变量后面,则变量先参与其他运算再自增

(2)、printf的参数赋值从右往左。

posted on 2012-02-26 19:07  阿杜的世界  阅读(398)  评论(0编辑  收藏  举报

导航