[求助]按道理说应该可以的啊!?
请编一个函数fun(char *s),函数的功能是把字符串中所有的字符前移一个位置,串中的第一个字符移到最后。
fun(char *s)
{
int i=0;
char t;
t=s[0];
while(*(s+1)!='\0')
{
s[i]=s[i+1];
i++;
}
s[i]=t;
s[i+1]='\0';
}
main()
{ char a[21];
clrscr();
printf("enter a string:");
gets(a);
printf("the original string is:");
puts(a);
fun(a);
printf("the string after modified:");
puts(a);
}
搜索更多相关的解决方案:
道理
----------------解决方案--------------------------------------------------------
怎么看怎么对 ! 为什么就不行呢/? 输入abcd 输出bcd 杂就没有a呢!!
----------------解决方案--------------------------------------------------------
我只想知道 我的程序错在那里了
----------------解决方案--------------------------------------------------------
以下是引用mp3aaa在2006-8-20 22:19:43的发言:
请编一个函数fun(char *s),函数的功能是把字符串中所有的字符前移一个位置,
串中的第一个字符移到最后。
fun(char *s)
{
int i=0;
char t;
t=s[0];
while(s[i+1]!='\0')
{
s[i]=s[i+1];
i++;
}
s[i]=t;
s[i+1]='\0';
}
main()
{ char a[21];
clrscr();
printf("enter a string:");
gets(a);
printf("the original string is:");
puts(a);
fun(a);
printf("the string after modified:");
puts(a);
}
请编一个函数fun(char *s),函数的功能是把字符串中所有的字符前移一个位置,
串中的第一个字符移到最后。
fun(char *s)
{
int i=0;
char t;
t=s[0];
while(s[i+1]!='\0')
{
s[i]=s[i+1];
i++;
}
s[i]=t;
s[i+1]='\0';
}
main()
{ char a[21];
clrscr();
printf("enter a string:");
gets(a);
printf("the original string is:");
puts(a);
fun(a);
printf("the string after modified:");
puts(a);
}
----------------解决方案--------------------------------------------------------
以下是引用mp3aaa在2006-8-20 22:19:43的发言:
请编一个函数fun(char *s),函数的功能是把字符串中所有的字符前移一个位置,
串中的第一个字符移到最后。
fun(char *s)
{
int i=0;
char t;
t=s[0];
while(*(s+1)!='\0')//这里有问题吧,你的指针根本没前进的说,改为while(s[i+1]!='\0')试试.
{
s[i]=s[i+1];
i++;
}
s[i]=t;
s[i+1]='\0';
}
main()
{ char a[21];
clrscr();
printf("enter a string:");
gets(a);
printf("the original string is:");
puts(a);
fun(a);
printf("the string after modified:");
puts(a);
}
请编一个函数fun(char *s),函数的功能是把字符串中所有的字符前移一个位置,
串中的第一个字符移到最后。
fun(char *s)
{
int i=0;
char t;
t=s[0];
while(*(s+1)!='\0')//这里有问题吧,你的指针根本没前进的说,改为while(s[i+1]!='\0')试试.
{
s[i]=s[i+1];
i++;
}
s[i]=t;
s[i+1]='\0';
}
main()
{ char a[21];
clrscr();
printf("enter a string:");
gets(a);
printf("the original string is:");
puts(a);
fun(a);
printf("the string after modified:");
puts(a);
}
----------------解决方案--------------------------------------------------------
哦哦
----------------解决方案--------------------------------------------------------
不是啊 我是打错了 本来想打 *(s+i)的 没想到打成+1了
有点迷糊
[此贴子已经被作者于2006-8-20 22:50:16编辑过]
----------------解决方案--------------------------------------------------------
*(s+i+1)!='\0'
着就对了
----------------解决方案--------------------------------------------------------