修改后的代码如下:

#include <stdio.h> #include <string.h>

int main() { printf("输入字符串:"); char a[100]; char b[100]; gets(a); int len,i,j; len=strlen(a); for(i=len-1,j=0;i>=0;i--,j++) { b[j]=a[i]; } b[j]='\0'; if(strcmp(a,b)==0) printf("是回文串"); else printf("不是回文串"); return 0; }

主要的修改点如下:

  1. 在循环中,i和j的初始值应该分别为len-1和0,而不是len-1和1。

  2. 循环条件应该是i>=0,而不是i>j。

  3. 循环体内对b数组的赋值应该在循环体结束后再加上b[j]='\0';,表示字符串结束符。

  4. 最后的输出应该加上换行符,即printf("是回文串\n");或printf("不是回文串\n");。

c语言中输入一个字符串判断其是否为回文。回文字符串是指从左到右读和从右到左读完全相同的字符串。 程序运行后首先在屏幕上显示提示:输入字符串:等待用户输入一个字符串。 如输入:abcdefgh则输出:不是回文串。 如输入:abccba则输出:是回文串。请帮下列代码修改错误#include stdioh#include stringhint main	printf输入字符串:;	ch

原文地址: http://www.cveoy.top/t/topic/bPs4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录