当前位置: 代码迷 >> C语言 >> [求助]按道理说应该可以的啊!?
  详细解决方案

[求助]按道理说应该可以的啊!?

热度:239   发布时间:2006-08-20 22:19:43.0
[求助]按道理说应该可以的啊!?
请编一个函数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);
}

----------------解决方案--------------------------------------------------------
以下是引用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);
}


----------------解决方案--------------------------------------------------------
哦哦
----------------解决方案--------------------------------------------------------
不是啊 我是打错了 本来想打 *(s+i)的 没想到打成+1了
有点迷糊

[此贴子已经被作者于2006-8-20 22:50:16编辑过]


----------------解决方案--------------------------------------------------------
*(s+i+1)!='\0'
着就对了
----------------解决方案--------------------------------------------------------
  相关解决方案