请问这个代码有哪些错误?实在是不知道哪错了!人已经麻了,X﹏X😪
2条回答 默认 最新
- yun6853992 2022-02-28 15:09关注
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无用