可以运行却没有结果怎么办

#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