#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; } 完整的代码是这样的 |
|
15分 |
printf()的返回值就是打印的字符个数。
语句 printf(” %d\n”,printf(“%s”,str1)); 首先, printf(“%s”,str1);打印出str1,返回值是9 接着 printf(” %d”, 9); 打印9 |
5分 |
printf, wprintf
Print formatted output to the standard output stream. int printf( const char *format [, argument]… ); int wprintf( const wchar_t *format [, argument]… ); Routine Required Header Compatibility For additional compatibility information, see Compatibility in the Introduction. Libraries LIBC.LIB Single thread static library, retail version Return Value Each of these functions returns the number of characters printed, or a negative value if an error occurs. Parameters format Format control argument Optional arguments Remarks The printf function formats and prints a series of characters and values to the standard output stream, stdout. If arguments follow the format string, the format string must contain specifications that determine the output format for the arguments. printf and fprintf behave identically except that printf writes output to stdout rather than to a destination of type FILE. wprintf is a wide-character version of printf; format is a wide-character string. wprintf and printf behave identically otherwise. Generic-Text Routine Mappings TCHAR.H Routine _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined The format argument consists of ordinary characters, escape sequences, and (if arguments follow format) format specifications. The ordinary characters and escape sequences are copied to stdout in order of their appearance. For example, the line printf(“Line one\n\t\tLine two\n”); produces the output Line one Format specifications always begin with a percent sign (%) and are read left to right. When printf encounters the first format specification (if any), it converts the value of the first argument after format and outputs it accordingly. The second format specification causes the second argument to be converted and output, and so on. If there are more arguments than there are format specifications, the extra arguments are ignored. The results are undefined if there are not enough arguments for all the format specifications. Example /* PRINTF.C: This program uses the printf and wprintf functions #include <stdio.h> void main( void ) /* Display integers. */ printf( “Decimal %d as:\n\tHex: %Xh C hex: 0x%x Octal: %o\n”, /* Display in different radixes. */ /* Display characters. */ printf(“Characters in field (1):\n%10c%5hc%5C%5lc\n”, ch, ch, wch, wch); /* Display strings. */ printf(“Strings in field (1):\n%25s\n%25.4hs\n\t%S%25.3ls\n”, /* Display real numbers. */ /* Display pointer. */ /* Count characters printed. */ Output Integer formats: Address as: 0012FFAC Display to here: Floating-Point Support Routines | Stream I/O Routines | Locale Routines See Also fopen, fprintf, scanf, sprintf, vprintf Functions |
10分 |
printf ("%d\n", printf ("%d\n", printf ("%d\n", printf ("%d\n", 8)))); |
谢谢,原来是这样 |
|
又是前辈您啊让我好好感悟吧 |
|
8 |
|
据说printf的返回值是它所输出的字符数。但是不要忘了,”%d\n”这个控制串,不但含有要输出的数字,还有一个换行符\n,这也算一个被输出的字符哇。 |
|
10分 |
今天怎么回事,各种邀请回答问题的提示呢?什么时候开的这个功能,还是CSDN推送的!
1. printf("%d\n", printf("%d\n", printf("%s\n",str1))); 2. Upon successful return, these functions return the number of characters printed (not including the trailing ’\0’ used to end output to strings). 总结,这个问题不但告诉我们printf返回值的问题,还告诉我们了printf嵌套时候的中的执行顺序。 |
貌似有些理解懂了 |
|
关于自己是否适合编程的很简单的测试: A里面有10处以上文字或标点错误 A不适合编程(理由:打字准确度偏低、粗心大意) 如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习” |