用C语言编写的反转句子 如把:what is your name 换成 name your is what 看看哪里错
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/20 23:32:33
用C语言编写的反转句子 如把:what is your name 换成 name your is what 看看哪里错
#include
#include
void ReverseWord(char *x,char *y)
{
while(*x
#include
#include
void 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("");
}
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("");
}
用C语言编写的反转句子 如把:what is your name 换成 name your is what 看看哪里错
what is your name?的同义句子
is ,your,what,name
what is your name
what is your name?
your,is,what,name怎么组成句子
what's your name?My name is(
what is your name这句话哪里错了
What is your English name?
翻译 what is your name?
what is your china name/.
What is your name,please