有人可以給我解釋一下這個簡單程序的輸出:的snprintf和sprintf解釋
#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 i don't have 2 here?
感謝。
怎麼樣,而不是'2',你'sizeof(charArrayAgain)'。 – indiv
同意,sizeof(charArrayAgain)會更好 - 雖然通常你有一個指針而不是一個數組,在這種情況下sizeof()不會工作。 –