我自己做了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/