不爱写代码爱吃荔枝 2022-02-28 14:22 采纳率: 66.7%
浏览 79
已结题

用C语言实现字符串的顺序颠倒

img

请问这个代码有哪些错误?实在是不知道哪错了!人已经麻了,X﹏X😪

  • 写回答

2条回答 默认 最新

  • yun6853992 2022-02-28 15:09
    关注

    img

    
    char * test(char a[]) //或者你可以直接对a数组进行操作
    {
        int i, j=0, k;
        //char m[100];  //不能这样用,除了函数作用域就没用了,
        //要想生效,要实际申请内存如下:
        char* m = (char*)malloc(100);
        if (m == NULL) return NULL;
        memset(m, 0, 100);
        k = strlen(a);
        for (i = k-1; i >= 0; i--) //还有  注意数组的下标是0~len-1
        {
            *(m+j) = (char)a[i];
            j++;
        }
        printf("m :%s \n", m);
        return m;
    }
    int main(void)
    {  
        char a[100] = {0};
        gets_s(a);
        printf("a:%s \n", a);
        test(a);
        printf("a1:%s \n", a);
        char* rest = test(a);
        printf("a2:%s \n", test(a));
        printf("a2:%s \n", rest);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 创建了问题 2月28日