有一个下面的谜题,我认为我知道正确的答案,但我也有一个问题。看看:
Sample Code
void printTime( time_t *t )
{
????
}
以下哪一项可以取代????在上面的代码中以人类可读的形式打印t中传递的时间?
char s[ 100 ];
ctime( t, s );
printf( "%s\n", s );
printf( "%s\n", ctime( t ) );
printf( "%s\n", asctime( t ) );
printf( "%s", t );
char *s = ctime( t );
printf( "%s\n", s );
free( s );
我的回答是答案2(函数ctime将time_t指针作为输入并返回指向字符串的指针,然后可以通过printf打印)。
答案5的代码在编译时也有效,但为什么我们会在以前没有分配存储时使用free()?你认为这就是为什么答案5是错的吗?
谢谢你, Przemek
答案 0 :(得分:3)