读书人

新人求指导printf(quot;%d\nquot;printf(quot;abcd

发布时间: 2013-08-10 21:14:06 作者: rapoo

新人求指点printf("%d\n",printf("abcdef"));

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
i = printf("%d\n",printf("abcdef"));
printf("%d\n",i);
}


上面代码最终的输出结果是多少?
怎么解读这段代码呢? C printf
[解决办法]

2 #include <stdio.h>
3 #include <stdlib.h>
4 int main(void)
5 {
6 int i;
7 i = printf("%d\n",printf("abcdef\n"));//修改了一点,
// printf函数也是有返回值的,返回字符串的长度
8 printf("%d\n",i);
9 }

[解决办法]
printf返回一个int值,表示被打印的字符数
abcdef6
2 //有\n
[解决办法]

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int i;
i = printf("%d\n",printf("abcdef"));//abcdef6 printf返回打印的字符数
printf("%d\n",i); //2 别忘了上次打印是有一个\n
system("pause");
}

[解决办法]
首先打印字符串abcdef,返回长度6,再将长度打印出来,最后返回长度2
所以:
abcdef6
2
[解决办法]
Return value
Upon successful return,these functions return the number of characters printed(not including the tailing '\0' used to end output to strings);

i = printf("\n") i=1
i = printf("abcdef") i=6


6转化为字符串占一个字节。
i = printf("%d\n",printf("abcdef")) i=2

读书人网 >C语言

热点推荐