c语言 您所在的位置:网站首页 printf打印字符串指针 c语言

c语言

2023-03-11 14:01| 来源: 网络整理| 查看: 265

及输⼊输出控制符

printf

include

 

int

 

printf

(

const

 

char

 

*

format

,

 

...);

int

 

printf

(

"

输出控制符

 

⾮输出控制符

"

,输出参数

);

printf

:⾃右向左压栈,故从右往左运算

后缀++会在数据⼊栈后⽣效,⽽不是要等到整条语句完全执⾏结束后才⽣效

实例1:

#

include

 

void

 

main

()

 

{

 

 

int

 i

=

2

;

 

 

printf

(

"%d,%d,%d,%d,\n"

,

i

++

,

++

i

,

i

,

i

++

);

  

//3 3 2 2

 

printf

(

"%d\n"

,

i

);

        

//5

}

 

解析:

printf

(

"%d,%d,%d,%d,\n"

,

i

++

,

++

i

,

i

,

i

++

);

 

从右往左运算:

 

i

++

得到

2

i

=

2

,后加

1

在整条语句执⾏完才进⾏,这⾥先记下)

 

i

还是

2

 

i

=

2

,原因见上⼀⾏)

 

++

i

得到

3

i

=

3

,先加

1

,后使⽤)

 

i

++

得到

3

i

=

3

,后加

1

在整条语句执⾏完才进⾏,这⾥先记下)

 

所以输出结果为:

3

3

2

2

 

然后计算刚才的两次后⾃增运算后,

i

=

5

 

printf

(

"%d\n"

,

i

);

 

所以,结果是

5

实例2:

int

 a

=

5

,

b

=

2

;

printf

(

"%d %d\n"

,

b

=

a

+

1

,

a

=

a

+

1

);

 

//

结果为

7 6  

⽽不是

6 6  

证明了

printf

是从右向左⼊栈

int

 i

=

7

;

 

printf

(

"%d\n"

,

 i

++

 

*

 i

++

);

 

//

输出结果是:

49

⽽不是

56

int

 i

=

7

;

printf

(

"%d %d %d\n"

,

++

i

,

i

,

i

++

);

 

//

输出结果是:

9 9 7  

后缀

++

的效果会在右侧数据⼊栈后⽣效

printf

中的输出控制符



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有