|
发表于 2015-7-6 23:33:14
|
显示全部楼层
额, 我今天专门就这个问题做了个小测试
#include <stdio.h>
void main()
{
int i=10;
printf("i的输出结果为:");
printf("%d\n",i);
printf("i++的输出结果为:");
printf("%d\n",i++); //i++ 意为i先参与其他运算之后再自身加1
printf("++i的输出结果为:");
printf("%d\n",++i); //++i 意为i先自身加1再参与其他运算
printf("i--的输出结果为:");
printf("%d\n",i--); //i-- 意为i先参与其他运算之后再自身加1
printf("--i的输出结果为:");
printf("%d\n",--i); //--i 意为i先自身加1再参与其他运算
printf("\n");
printf("\n");
printf("\n");
printf("***********************************\n");
printf("*****由一个PRINTF函数输出的结果****\n");
printf("***********************************\n");
printf("i,i++,++i,i--,--i的输出结果为:\n");
printf("i的输出结果为:%d\ni++的输出结果为:%d\n++i的输出结果为:%d\ni--的输出结果为:%d\n--i的输出结果为:%d\n",i,i++,++i,i--,--i);
//由输出结果可以看出printf函数在有多参数的时候由右至左运算
printf("\n");
printf("\n");
printf("\n");
printf("***********************************\n");
printf("*****由一个PRINTF函数输出的结果****\n");
printf("*****调换i和i++的位置之后的结果****\n");
printf("***********************************\n");
printf("i++,i,++i,i--,--i的输出结果为:\n");
printf("i++的输出结果为:%d\ni的输出结果为:%d\n++i的输出结果为:%d\ni--的输出结果为:%d\n--i的输出结果为:%d\n",i++,i,++i,i--,--i);
printf("\n");
printf("最终i=%d\n",i);
// printf("%d",i++);
}
/*------------------------------------------------------
以上程序运行结果如下:
i的输出结果为:10
i++的输出结果为:10
++i的输出结果为:12
i--的输出结果为:12
--i的输出结果为:10
***********************************
*****由一个PRINTF函数输出的结果****
***********************************
i,i++,++i,i--,--i的输出结果为:
i的输出结果为:10
i++的输出结果为:10
++i的输出结果为:10
i--的输出结果为:9
--i的输出结果为:9
***********************************
*****由一个PRINTF函数输出的结果****
*****调换i和i++的位置之后的结果****
***********************************
i++,i,++i,i--,--i的输出结果为:
i++的输出结果为:10
i的输出结果为:10
++i的输出结果为:10
i--的输出结果为:9
--i的输出结果为:9
最终i=10
Press any key to continue
-----------------------------------------------*/
发现问题:i++,i--在printf函数中并未运算。但是我解释不了 有大神讲解下么 |
|