C字符串反转

更改下面程序
#include string.h
            main(void)
            { 
            char *src="hello,world";
            char *dest=NULL;
            dest=(char *)malloc(strlen(src));
            int len=strlen(str);
            char *d=dest;
            char *s=src[len];
            while(len--!=0)
            d++=s--;
            printf("%s",dest);
            }


正确为:
            #include "string.h"
            #include "stdio.h"
            #include "malloc.h"
            main(void)
            {
            char *src="hello,world";
            char *dest=NULL;
            dest=(char *)malloc(sizeof(char)*(strlen(src)+1));
            int len=strlen(src);
            char *d=dest;
            char *s=src+len-1;
            while(len--!=0)
            *d++=*s--;
            *d='\0';
            printf("%s",dest);
            //	src[0] = src[2];
            }


src指向一字符串常量,不能更改。若去掉上面注释那一行,讲产生运行时错误。要注意对dest分配大小时,为字符串长度加1.

你可能感兴趣的:(C++,c,C#)