我有以下程序,它正在崩潰。有人知道它爲什麼會崩潰嗎?在C中使用sizeof
/* writes a, b, c into dst
** dst must have enough space for the result
** assumes all 3 numbers are positive */
void concat3(char *dst, int a, int b, int c) {
sprintf(dst, "%08x%08x%08x", a, b, c);
}
/* usage */
int main(void) {
printf("The size of int is %d \n", sizeof(int));
char n3[3 * sizeof(int) + 1];
concat3(n3, 0xDEADFACE, 0xF00BA4, 42);
printf("result is 0x%s\n", n3);
return 0;
}
每次使用'sprintf',我殺了一隻小貓。 – 2010-11-11 13:30:49
這是C還是C++?他們不是同一種語言。 – 2010-11-11 13:46:01
此問題是由同一張海報對[生成唯一編號](http://stackoverflow.com/q/4143473/25324)問題的後續處理。 – pmg 2010-11-11 14:31:15