C语言指针使用不当带来的内存不可读

前几天遇到一个C语言初学者提到的一个问题,代码我做了一些修改,如下:

#include <stdio.h> 
#include <string.h>

int main(void) 
{
    char str[10] = "I love C";
    char *pStart = &str[0]; 
    char *pEnd = &str[strlen(str) - 1];
    char *temp = NULL;

    while(pStart < pEnd) 
    {
        *temp = *pStart; 
        *pStart = *pEnd; 
        *pEnd = *temp; 

        pStart++; 
        pEnd--;
    }

    printf("now the string is %s\n", str); 
    
    return 0;
}
发布了214 篇原创文章 · 获赞 90 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/kelehaier/article/details/88889099