#include<stdio.h>
#include<string.h>
void main()
{ char str[50];
char *pl,*p2;
int i,t=0;
printf("input:");
gets(str);
pl=str;
/*******found********/
p2=str+strlen(str)-1;
p2=str+strlen(str);
for(i=0;i<=strlen(str)/2;i++)
/*********found************/
if(*pl++!=*p2--)
{ t=1;break;}
if(t==0)
printf("%s\n","yes");
else
printf("%s\n","no");
}
可以出现黑框,输入后自动退出没得输出结果,system ("pause")这种类似函数没用
那是你程序有问题,直接退出了。
代码贴出来分析一下吧
把代码贴出来看看。
1.可能是在获取输入的时候有问题,比如scanf()函数那里。
2.是不是在函数中使用了return,如果在system("pause")前执行了return,也是一闪就没了。
#include<stdio.h>
#include<string.h>
void main()
{ char str[50];
char *pl,*p2;
int i,t=0;
printf("input:");
gets(str);
pl=str;
/*******found********/
p2=str+strlen(str)-1;
p2=str+strlen(str);
for(i=0;i<=strlen(str)/2;i++)
/*********found************/
if(*pl++!=*p2--)
{ t=1;break;}
if(t==0)
printf("%s\n","yes");
else
printf("%s\n","no");
}
供参考:
#include<stdio.h>
#include<string.h>
#include<windows.h>
void main()
{
char str[50];
char *pl,*p2;
int i,t=0;
printf("input:");
gets(str);
pl=str;
//******found********
p2=str+strlen(str)-1;
//p2=str+strlen(str);
for(i=0;i<=strlen(str)/2;i++)
//********found************
if(*pl++ != *p2--)
{
t=1;
break;
}
if(t==0)
printf("%s\n","yes");
else
printf("%s\n","no");
system("pause");
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632