用C语言编写的反转句子 如把:what is your name 换成 name your is what 看看哪里错#include#includevoid ReverseWord(char *x,char *y) { while(*x
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/24 01:42:51
![用C语言编写的反转句子 如把:what is your name 换成 name your is what 看看哪里错#include#includevoid ReverseWord(char *x,char *y) { while(*x](/uploads/image/z/7502707-19-7.jpg?t=%E7%94%A8C%E8%AF%AD%E8%A8%80%E7%BC%96%E5%86%99%E7%9A%84%E5%8F%8D%E8%BD%AC%E5%8F%A5%E5%AD%90+%E5%A6%82%E6%8A%8A%3Awhat+is+your+name+%E6%8D%A2%E6%88%90+name+your+is+what+%E7%9C%8B%E7%9C%8B%E5%93%AA%E9%87%8C%E9%94%99%23include%23includevoid+ReverseWord%28char+%2Ax%2Cchar+%2Ay%29+%7B+while%28%2Ax)
用C语言编写的反转句子 如把:what is your name 换成 name your is what 看看哪里错#include#includevoid ReverseWord(char *x,char *y) { while(*x
用C语言编写的反转句子 如把:what is your name 换成 name your is what 看看哪里错
#include
#include
void ReverseWord(char *x,char *y)
{
while(*x
用C语言编写的反转句子 如把:what is your name 换成 name your is what 看看哪里错#include#includevoid ReverseWord(char *x,char *y) { while(*x
#include<stdio.h>
void ReverseWord(char *x,char *y)
{
while(x<y) //这里比较的是指针的位置先后,而不是指针指向字符的大小
{
char t=*x;
*x++=*y;
*y--=t;
}
}
// 将句子按单词逆序
char *ReverseSentence(char *s)
{
// 这两个指针用来确定一个单词的首尾边界
char *p=s ; // 指向单词的首字符
char *q=s ; // 指向空格或者 '\0'
while(*q!='\0')
{
if (*q==' ')
{
ReverseWord(p,q-1) ;
q++; // 指向下一个单词首字符
p=q;
}
else
q++;
}
ReverseWord(p,q-1); // 对最后一个单词逆序
ReverseWord(s,q-1); // 对整个句子逆序
return s;
}
void main()
{
char *k;
char b[]="what is your name"; //这里要定义数组,不能用指针指向字符串常量,因为字符串常量的内存空间是不能被修改的
k=ReverseSentence(b);
printf("%s",k); //输出字符串传指针就可以了,*k只是字符串第一个字符
puts("");
}