2011-03-16 71 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]的值;线。该值应该立即更新。如果不是它可能是调试器的问题,而不是你的代码。