一个关于sprintf的问题。看看这个结果怎样分析!
#include <stdio.h>
void main( void )
{
char buffer[200], s[] = "computer", c = 'l';
int i = 35, j;
float fp = 1.7320534f;
/* Format and print various data: */
printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );
j = sprintf( buffer, "\tString: %s\n", s );
printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );
j += sprintf( buffer + j, "\tCharacter: %c\n", c );
printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );
j += sprintf( buffer + j, "\tInteger: %d\n", i );
printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );
j += sprintf( buffer + j, "\tReal: %f\n", fp );
printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );
}
结果如下:
Output:
烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫
烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫
烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫?
character count = 0
Output:
String: computer
character count = 21
Output:
String: computer
Character: l
character count = 35
Output:
String: computer
Character: l
Integer: 35
character count = 50
Output:
String: computer
Character: l
Integer: 35
Real: 1.732053
character count = 71
Press any key to continue