变量:
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));
这就是控制台中的结果: TEST 1: 50;2 TEST 2: ý³↑;3
所以 settings[15].value 中的 char* 在 printf 之间发生变化,我不知道为什么?
提前致谢!