我想使用指针数组,malloc而不是使用字符数组来反转字符串(用户在运行时给出(。任何人都可以通过给我一个代码来帮助我吗?我对C很陌生,提前谢谢。
我不确定你在问什么, 但是以下程序符合您的条件, 1. 有指针数组 2.有马洛克 3. 没有字符数组
#include <stdio.h>
#include <stdlib.h>
#define STR_MAX_SIZE 256
int main()
{
char *str;
char *pos[2];
char c;
if((str = malloc(STR_MAX_SIZE)) ==NULL) {
return -1;
}
scanf("%s",str);
pos[0] = str;
pos[1] = str;
while(*pos[1]) {
pos[1]++;
}
pos[1] -= 1;
while(pos[0] < pos[1]) {
c = *pos[0];
*pos[0] = *pos[1];
*pos[1] = c;
pos[0]++;
pos[1]--;
}
printf("reversed : %sn",str);
return 0;
}