70,040
社区成员
发帖
与我相关
我的任务
分享
貌似有些理解懂了
待我好好的在品味下
最后
我打字有时不仔细啊,有些急
年轻人气血旺盛 要注意
printf("%d\n", printf("%d\n", printf("%s\n",str1)));
2.
另用man 3 printf 看看 printf的返回值。
Upon successful return, these functions return the number of characters printed (not including the trailing ’\0’ used to end
output to strings).
总结,这个问题不但告诉我们printf返回值的问题,还告诉我们了printf嵌套时候的中的执行顺序。
printf整体也是算一次的吗?那这样想依次往外返回值应该是递加的吧[/quote]
据说printf的返回值是它所输出的字符数。但是不要忘了,"%d\n"这个控制串,不但含有要输出的数字,还有一个换行符\n,这也算一个被输出的字符哇。
哇哇嘎嘎~~~
printf整体也是算一次的吗?那这样想依次往外返回值应该是递加的吧
又是前辈您啊
让我好好感悟吧
printf ("%d\n", printf ("%d\n", printf ("%d\n", printf ("%d\n", 8))));#include<string.h>
#include<stdio.h>
int main()
{
char *str1="WelcomeTo\0XiyouLinux\n";
char str2[]="WelcomeTo\0XiyouLinux\n";
printf("%d\n",printf("%s",str1));
printf("%ld,%ld\n",strlen(str1),strlen(str2));
printf("%lu,%lu\n",sizeof(str1),sizeof(str2));
return 0;
}