求助,括号配对问题,c语言

// acm 括号配对.cpp : 定义控制台应用程序的入口点。
//输入样本个数和括号样本,看括号是否可以配成对

#include "stdafx.h"
#include

int _tmain(int argc, _TCHAR* argv[])
{
int n;
char*p;
int s;
char name[21];
p=name;
printf("请输入样本个数:");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("请输入测试样本:");
scanf("%s",&name);
s=strlen(name);
if(s%2!=0)//若输入样本为基数则不可能配对
printf("wrong\n");
else
for(int w=0;w<s;w++)
{
if(*(p+w)==(*(p+s)-w-2))//按顺序进行扫描字符
continue;
else
printf("wrong\n");
}
printf("right\n");
}
return 0;
}

我是学生一枚,括号是否可以配对什么意思?看了一下你的程序,到最后都会执行printf("right\n");哟,真的要这样吗?

/********* 只是实现了例如 "abc(dd(cba" **********/
#include "stdio.h"
#include "string.h"
int main()
{
int n;
char*p;
int s;
char name[21];
p=name;
printf("请输入样本个数:");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("请输入测试样本:");
scanf("%s",&name);
s=strlen(name);
if(s%2!=0)//若输入样本为基数则不可能配对
printf("wrong\n");
else
{
int w;
for(w=0;w<s/2;w++)
if(*(p+w)==*(p+s-w-1))//按顺序进行扫描字符
continue;
else
{
printf("wrong\n");
break;

}

if(w==s/2)
printf("right\n");
}
}
return 0;