C 找到一个回文,不';不要与FGET一起工作
我想看看一个单词/短语是否是回文。我必须使用FGET,而不是GET等。。。 使用gets时,我的代码可以工作,但使用fgets时,它不能工作。有人知道为什么吗C 找到一个回文,不';不要与FGET一起工作,c,C,我想看看一个单词/短语是否是回文。我必须使用FGET,而不是GET等。。。 使用gets时,我的代码可以工作,但使用fgets时,它不能工作。有人知道为什么吗 #include <stdio.h> #include <string.h> #include <ctype.h> int main() { int i,j,len; char str[100]; printf("Enter the string: \n"); fge
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
int i,j,len;
char str[100];
printf("Enter the string: \n");
fgets(str,sizeof(str),stdin);
len=strlen(str);
for(i=0;i<=len;i++)
str[i]=tolower(str[i]);
for(i=0,j=len-1;i<j;i++,j--) {
while (str[i]==' ') i++;
while (str[j]==' ') j--;
if( str[i] != str[j] ) {
printf("NO\n");
return 0;
}
}
printf("YES\n");
return 0;
}
#包括
#包括
#包括
int main()
{
int i,j,len;
char-str[100];
printf(“输入字符串:\n”);
fgets(str,sizeof(str),stdin);
len=strlen(str);
对于(i=0;i这不适用于fgets
,因为它将尾部\n
与字符串保持在一起;获取
不会这样做
从:
换行符使FGET停止读取,但函数认为它是有效字符,并包含在复制到str的字符串中
若要解决此问题,请调整长度以考虑尾部的\n
标记:转到字符串的末尾,然后向后移动,直到看到非\n
字符。这不适用于fgets
,因为它将尾部的\n
保留在字符串中;获取
不会这样做
从:
换行符使FGET停止读取,但函数认为它是有效字符,并包含在复制到str的字符串中
要解决此问题,请调整长度以考虑尾部的\n
标记:转到字符串的末尾,然后向后移动,直到看到非\n
字符。首先,它是否为您编译?此外,这是:在调试器中查看字符串。然后逐步检查代码。检查变量。答案应该是立即的。Fi首先,它是否为您编译?还有,这是:查看调试器中的字符串。然后逐步检查代码。检查变量。答案应该是立即的。我明白了,谢谢!如果我这样做:len=strlen(str)-1;它有效。我们只给出简单的工作/短语,如:abcba、dad、anna,从不奇数或偶数等…所以我更改了这个,它有效。谢谢;)我明白了,谢谢!如果我这样做了:len=strlen(str)-1;它有效。我们只给出简单的作品/短语,如:abcba,dad,anna,从不奇数或偶数等…所以我改变了这个,它有效。谢谢;)