【发布时间】:2013-02-20 08:27:24
【问题描述】:
变量:
struct configSetting {
char *value;
};
char *stringResult;
char str[255];
int intResult;
int *p_intResult;
int i = 0;
p_intResult = &intResult;
我正在将 int 转换为字符串:
struct configSetting settings[NUMBEROFSETTINGS];
settings[i].value = itoa(intResult, str, 10);
printf 将正确的值打印到控制台中:
printf("\nVALUE: %s", settings[i].value);
之后我将另一个函数中的值写入控制台,输出在这两个 printf 之间发生变化:
printf("\nTEST 1: %s;%i", settings[15].value, strlen(settings[15].value));
printf("\nTEST 2: %s;%i", settings[15].value, strlen(settings[15].value));
这是控制台中的结果: 测试 1:50;2 测试 2:ý³↑;3
所以 settings[15].value 中的 char* 在 printf 之间发生变化,我不知道为什么?
提前致谢!
【问题讨论】:
-
什么是
NUMBEROFSETTINGS?
标签: c