有人能解释一下这个简单程序的输出吗?
#include <stdio.h>
int main(int argc, char *argv[])
{
char charArray[1024] = "";
char charArrayAgain[1024] = "";
int number;
number = 2;
sprintf(charArray, "%d", number);
printf("charArray : %s\n", charArray);
snprintf(charArrayAgain, 1, "%d", number);
printf("charArrayAgain : %s\n", charArrayAgain);
return 0;
}
输出结果如下:
./a.out
charArray : 2
charArrayAgain : // Why isn't there a 2 here?
2
代替,改成用sizeof(charArrayAgain)
怎么样? - indiv