当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C语言逆序字符串数组

C语言逆序字符串数组

2018年10月19日  | 移动技术网IT编程  | 我要评论

青海省政府采购网,郑州市旅游职业学院,午夜剧场第1页

问题描述:有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".

 

代码实现:

 

#include <stdio.h>
void swap(char *a,char *b)
{
 *a = *a + *b;
 *b = *a - *b;
 *a = *a - *b;
}
void reverse(char *arr,int left,int right)//student a am i
{
 while(left < right)
 {
  swap(&arr[left],&arr[right]);//arr[0]
  left++;
  right--;
 }
}
int main()
{
 int left = 0;
 int right = 0;
 char arr[]="student a am i";
 reverse(arr,0,sizeof(arr)/sizeof(arr[0])-2);//student\0
  
 while(arr[right] != '\0')
 {
 while(arr[right] != '\0'&&arr[right] != ' ')
 {
 right++;
 }
 right--;
 reverse(arr,left,right);
 left = right+2;
 right = left;
 }
 printf("%s\n",arr);
 return 0;
}

 

结果是:


如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网