#include <string.h> #include <stdio.h> #include <stdlib.h> //将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love you.”倒换后变为"you. love i" void reverse(char *str) { int i=0,j=strlen(str)-1; int begin,end; char temp; //第一步进行全部翻转 while (i<j) { temp=str[i]; str[i]=str[j]; str[j]=temp; i++; j--; } i=0; //进行部分翻转,如果不是空格,则开始翻转 while(str[i]!='\0') { if (str[i]!=' ') { begin=i; while (str[i]&&str[i]!=' ') { i++; } i=i-1; end=i; } while(begin<end) { temp=str[begin]; str[begin]=str[end]; str[end]=temp; begin++; end--; } i++; } } void main() { char a[]="i love you."; reverse(a);//注意这里只能使用char a[]="i love you.";不能使用char *a="i love you.";因为在reverse中要修改a的值,而字符串常量不能修改 printf("%s",a); }
原文地址:https://www.jb51.cc/javaschema/284886.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。