有关printf(p+1),printf(p++),printf(++p)的相关理解

简介: 有关printf(p+1),printf(p++),printf(++p)的相关理解

先看代码


   int p = 1;

   printf("%d\n", p + 1 );

   printf("%d\n", p);

   printf("%d\n", p ++ );

   printf("%d\n", p );

   printf("%d\n", ++p);

   printf("%d\n", p);


输出结果为2,1,1,2,3,3


为什么是这样的结果呢?


第一二个结果不同是因为,在printf打印的时候,p的值先存入一个临时空间,再让临时空间+1,最后打印临时空间中的值。所以p内部实际值不变。


而第三个和第四个不同的原因,是先将p的值存入临时空间,将临时空间中的值打印,再对p的实际值改变,所以第四个打印的是2。


而第五个和第六个相同的原因,是因为先将p进行了从2自增到3的过程,再将p的值存入临时空间,将临时空间的值打印。

目录
相关文章
|
1月前
|
C语言
你真的学会了printf和scanf函数吗?
你真的学会了printf和scanf函数吗?
|
11月前
|
C++
VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法
VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法
|
1月前
|
存储 数据格式
如何在51单片机实现scanf和printf
如何在51单片机实现scanf和printf
|
1月前
|
C语言
1.printf()2.scanf()
1.printf()2.scanf()
21 0
|
6月前
|
缓存
scanf和printf函数
scanf和printf函数
70 0
|
11月前
|
存储 Serverless C语言
printf()和scanf() (详解)
printf()和scanf() (详解)
C++(cout和printf的使用小结)
C++(cout和printf的使用小结)
scanf与scanf_s
scanf与scanf_s
85 0
|
缓存 人工智能 C++
06-printf和scanf函数
printf函数 printf函数称之为格式输出函数,方法名称的最后一个字母f表示format。其功能是按照用户指定的格式,把指定的数据输出到屏幕上 printf函数的调用格式为: printf("格式控制字符串",输出项列表 ); ...
1241 0
|
Web App开发