问题:假设有char a[]=”编程语言思想”;求其逆置的数组,并输出。
解决思路:一个汉字占两个字节,对于该字符数组中,一个汉字相当于占了两个英文字母的字节数。所以代码如下:
int main()
{
char a[] = "编程中国人";
int index=0;
int max;
int min;
char tmp[2];
while(a[index])
{
index++;
}
max=index-1;
min =0;
while(min < max)
{
tmp[0] = a[max];
tmp[1] = a[max-1];
a[max] = a[min+1];
a[max-1]= a[min];
a[min+1] = tmp[0];
a[min] = tmp[1];
min += 2;
max -= 2;
}
printf("%s\n",a);
return 0;
}