[問題] 是printf的問題還是?

看板C_and_CPP作者 (態度)時間14年前 (2010/06/16 15:54), 編輯推噓1(107)
留言8則, 7人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 我用malloc 4個byte出來,然後分別給值但是 用printf印出來的資料後面有一堆奇怪的東西 希望得到的正確結果: ABCD 程式跑出來的錯誤結果: ABCD 垂垂垂垂 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC 2008 有問題的code: (請善用置底文標色功能) unsigned char *test1=(unsigned char *)malloc(4*sizeof(unsigned char)); for(int j=0;j<4;j++){ test1[j]=65+j; } printf("%s\n",test1); 補充說明: 我有用Dev C++ 測試不會這樣,只有VC會這樣 請問是我哪裡寫錯了嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.213.6

06/16 16:00, , 1F
because string lacks '\0'.
06/16 16:00, 1F

06/16 16:56, , 2F
真是愚蠢的問題,真是感謝樓上大大的幫助
06/16 16:56, 2F

06/16 17:33, , 3F
垂垂垂垂
06/16 17:33, 3F

06/16 17:59, , 4F
奇怪...總覺得很好笑XDDDD
06/16 17:59, 4F

06/16 18:00, , 5F
要用台語念
06/16 18:00, 5F

06/16 18:06, , 6F
垂是0xABAB, 大概是VC用來補在local array後面, 好用來
06/16 18:06, 6F

06/16 18:06, , 7F
偵錯是否有存取超過陣列用的吧(Debug Mode)....@_@"
06/16 18:06, 7F

06/17 01:19, , 8F
好可愛的bug....XD 垂垂垂垂
06/17 01:19, 8F
文章代碼(AID): #1C68DApO (C_and_CPP)