对于一个类,我正在编写一段代码来获取指向字符串的指针,将其反转,然后将其设置为另一个字符串指针。我得到的代码运行正常,它很好地反转了字符串。当我尝试打印反转指针的值时,会发生此问题。这是代码:
char * reverse (char *dest, char *src)
{
int length=0;
char c;
while(*src != '\0')
{
src++;
length++;
}
for(int a = 0; a<length; a++){
c=(*--src);
//Print out the value of c
printf("Before dest: %c\n", c);
*dest= c;
//Print out the value of *dest
printf("-After dest: %c\n", *dest);
dest++;
}
printf("Input was: %s\n", src);
printf("Output should be: %s\n",dest);
return dest;
}
这就是它输入的内容&#34;你好&#34;以及指向空白数组字符的指针。
Before dest: o
-After dest: o
Before dest: l
-After dest: l
Before dest: l
-After dest: l
Before dest: e
-After dest: e
Before dest: H
-After dest: H
Input was: Hello
Output should be: ù.█
Reverse ù.█
在dest行之前和之后进行调试。 反向行是从函数返回的内容 每次输出都不同。我完全傻眼了,我的教授说这应该是正确的。 任何帮助表示赞赏