翻转字符串i am a student

翻转字符串 i am a student 为student a am i
我们可以先把字符串通过指针整体翻转为tneduts a am i, 然后在依次局部进行转换
#include <stdio.h>
  int  main()
  {
    char str[]="I am a student"; 
	printf("%s\n",str);
    char *l,*r;
    char temp;
     l=r=str;
	 while(*r!='\0')
     {
         r++;//右指针后移
     }
     r--;
     while(l<=r)
     {
        temp=*l;
        *l=*r;
         *r=temp;
         l++;
         r--;
     }//反转整个字符串为 tneduts a am i
 
    printf("%s\n",str);
    //反转局部字符串
     r=str;//指针指向开始位置
     char *s,*t;
     s=t=str;//这里的字符串为tneduts a am i
 
     while(*r!='\0')
     {
         if(*r==' ')//通过判断空格来翻转字符串
         {
             t--;
             while(s<=t)
             {
                temp=*t;
                 *t=*s;
                *s=temp;
                 s++;
                 t--;
             }
 
             s=r+1;
             t=r;
         }        
		 r++;
         t++;
    }
 printf("%s\n",str);
 return 0;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值