2011-03-16 47 views
0

我這樣做:簡單的C/C++的問題

char asa[2]; 
char c = '2'; 
asa[0] = c; 
asa[1] = '\0'; 
printf("%s", asa); 

是不是在代碼驗證的條款?

如果我調試未更新的ASA值,直到中的printf叫...

+0

歡迎來到Stack Overflow!你是什​​麼意思「是不是?」你想做什麼?如果不知道什麼是「錯誤的」,很難知道什麼是「正確的」。 – templatetypedef 2011-03-16 01:44:52

+0

歡迎okami。你的代碼是正確的。你使用可視化調試器來檢查asa的值嗎? – Alan 2011-03-16 01:45:42

+3

您是否使用優化進行編譯? – 2011-03-16 01:45:51

回答

2

是的,這是正確的。

而我的答案至少需要這麼長時間。

+0

我更喜歡使用***** FILLER ****** ;-) – stefan 2011-03-16 01:45:55

2

代碼是正確的,是的。至於爲什麼你的值沒有被更新,它可能與你的IDE有關。

0

代碼本身是正確的。

至於調試的事情你確定是這樣嗎?嘗試在調試器處於asa [1] ='\ 0'時檢查asa [0]的值;線。該值應該立即更新。如果不是它可能是調試器的問題,而不是你的代碼。