c语言printf输出多个字母,C语言printf嵌套printf然后再嵌套一个printf,嵌套printf输出的疑惑...

写一个程序,用程序来说明

郁金香Q吧

#include

int main( void )

{

int i = 1234;

printf( "%d", printf( "%d", printf( "%d", i ) )

);

return 0;

}

答案便是:123441

a4c26d1e5885305701be709a3d33442f.png

printf( "%d", printf( "%d", printf( "%d", i ) )

);

1,从左向右执行,第一个printf发现要调用第二个printf,第二个printf发现要调用第三个printf;

2,第三个printf输出1234,返回值为4,即返回字符长度,返回值给第二个printf打印

3,第二个printf输出4,返回值为1,返回值给第一个printf打印

4,第一个printf输出1。所以最后输出为123441.

为了更好的说明每个printf输出的是什么,我在%d后面加了个转义字符\n

#include

int main( void )

{

int i = 1234;

printf( "%d\n", printf( "%d\n", printf( "%d\n", i

) ) );

return 0;

}

输出的结果:

1234

5

2

a4c26d1e5885305701be709a3d33442f.png

结论一样,只不过转义字符占一个字符

printf( "%d", printf( "%d", printf( "%d", i )

) );

1,从左向右执行,第一个printf发现要调用第二个printf,第二个printf发现要调用第三个printf;

2,第三个printf输出1234,返回值为5,多了一个转义字符\n,返回值给第二个printf打印

3,第二个printf输出5,返回值为2,返回值给第一个printf打印

4,第一个printf输出2。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值