我自己做了strrev函数。编译时表示func xstrrev()中的代码无效。我还想知道,在为任务分配内置函数的副本时,我们可以在其中使用buildinfunctions(other)吗?当我在其中使用strlen()时。

#include<stdio.h>
#include<conio.h>
#include<string.h>
void xstrrev(char str[]);
void main(void)
{
 char str[30];
 printf("Enter a string:");
 gets(str);
 xstrrev(str);
 printf("\n%s",str);
 getch();
}
void xstrrev(char str[])
{
int i,x;
x=strlen(str);
for(i=0;;i++)
 {

  if(str[i]=='\0')
  {
   break;
  }

str[x-i]=str[i];

 }
}

最佳答案

您使用了比较运算符==而不是赋值运算符=
因此,编译器是正确的:xstrrev只是执行比较,其结果被忽略,而不是赋值。

至于您的第二个问题,这不是一个合适的论坛,只有您的老师才能说出允许什么和不允许什么。但是,实现strlen正是两行代码。

关于c - 在程序的一半之后,它变成了回文,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3215739/

10-11 23:19