C语言问题 急

[复制链接]
查看11 | 回复1 | 2008-4-13 23:22:42 | 显示全部楼层 |阅读模式
不是有for循环语句嘛~
回复

使用道具 举报

千问 | 2008-4-13 23:22:42 | 显示全部楼层
怎么会得出正确的结果呢?例如输入123331,得出yes!就是错的。这个程序有问题,你是不是想判断回文?要是修改如下:#include #include char *fun(char*str) { char *p1,*p2; int i, t=0; p1=str;p2=str+strlen(str)-1; if((strlen(str)%2)!=1)return ("no!);for (i=1;i<=strlen(str)/2;i++) if (*p1++!=*p2--) { t=1; break; } if((*p1==*p2)&(!t)) return("yes!"); else return("no!"); } void main() { char str[50]; printf("Input:"); scanf("%s",str); printf("%s\n",fun(str)); }你的语句里不是有for循环吗?不过你的指针没有移动呀!你的第二个if判断条件有点问题,你的t不是用来置反的吗? 也就是判断那个语句有没有执行!还有那些不一样?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行