if语句中括号的匹配

原创 2015年07月08日 20:55:29


编程的时候,if条件里面的“(”、“)”括号经常出现不匹配的情况导致编译不过,请编写程序检测输入一行if语句中的圆括号是否匹配正确。同时输出语句中出现的左括号和右括号数量,如if((a==1)&&(b==1))是正确的,而if((a==1))&&(b==1))是错误的。注意if语句的最外面至少有一对括号。
输入:if((a==1)&&(b==1))
输出:RIGTH 3 3
输入:if((a==1))&&(b==1))
输出:WRONG 3 4
#include<iostream>
#include<stack>
using namespace std;
void getResult(char *str)
{
 stack<char> c;
 if(str==NULL)
  return;
 int len=strlen(str);
 int flag=1;
 int left=0;
 int right=0;
 char *a="RIGHT";
 char *b="WRONG";
 char *p=a;
 for(int i=0;i<len;i++)
 {
  if(str[i]=='(')
  {
   left++;
   c.push(str[i]);
  }

  if(str[i]==')')
  {
   right++;
   if(c.size()-1==0&&i!=len-1)
   {
    flag=0;
    p=b;
   }
  }
 }
 if(left!=right)
  p=b;
 cout<<p<<" "<<left<<" "<<right<<endl;


}

void main()
{
 char str[1000];
 gets(str);
 getResult(str);

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

if语句的汇编表示

gcc产生的代码,可以使用objdump查看它对应的汇编代码(gcc查看汇编代码),本文主要介绍条件语句if语句的汇编表示   有以下代码: int max(int x,int y) { if (x>...
  • u011608357
  • u011608357
  • 2014年03月30日 15:06
  • 2848

Java的基本语法:if语句、for循环、while循环嵌套

一,打印三角形(for循环嵌套)1.用*打印直角三角形 需求:打印如下直角三角形 ***** **** *** ** *思路:采用for嵌套循环 外层控制行数 内层控制列数(列数为变量,每次均...
  • xlqx11
  • xlqx11
  • 2015年08月25日 01:01
  • 7531

正则表达式中匹配字符中括号'['

>>> import re >>> a = "abc[123]abc" >>> b = re.match(r"(.*)\[([^\[\]]*)\](.*)",a,re.I|re.M) >>> b.gr...
  • zjm750617105
  • zjm750617105
  • 2016年02月23日 12:39
  • 4749

java用正则匹配中文中括号,和英文中括号

String regex = "(?
  • baidu_16217779
  • baidu_16217779
  • 2017年05月05日 17:34
  • 1377

正则表达式中(括号) [方括号] {大括号}的区别

之前遇到要用正则判断输入字符串的小需求中遇到了问题,连续的字符串不知道怎么判断。 如邮箱结尾的.com .cn .net等。于是乎查阅资料:括号() : 括号是多个匹配,它把括号内的当做一组来...
  • yzccc
  • yzccc
  • 2016年12月18日 22:40
  • 2173

用正则表示式,取中文中所有中括号[]的内容

在很多聊天中,会有许多表情,这些表情都是类似”[微笑]”的这种,然后写了一个正则表达式,保留在这里,便于以后使用中.这里的提取支持提取中文.在node.js 6.10.2下运行通过.let testS...
  • zdhsoft
  • zdhsoft
  • 2017年04月17日 11:39
  • 1650

perl中if的匹配条件

if的匹配条件语法 : if ( $a =~ m/ ... /){ ... } 通常我们会看到这样的语句:if ( / ... / ){ ... } 没有变量$a, 其实不然,在仔细看看,这句应该...
  • liuweichuan
  • liuweichuan
  • 2012年07月30日 15:11
  • 571

if语句中的括号匹配检测

可以考虑利用堆栈来做,遍历整个输入字符将左括号全部入栈,出现右括号就出栈。其正确的情况下首先左右括号数量必须保持一致,其次在最后一个右括号出现前栈里是不能为空的!这就可以分为当出现右括号要出栈时栈里却...
  • u010693888
  • u010693888
  • 2015年05月12日 21:09
  • 512

python 下括号匹配

Python下的一个初级程序,感觉写的不好,希望高手指点
  • u013372441
  • u013372441
  • 2014年12月26日 23:23
  • 1545

组态王中两个if连用必须加上大括号

组态王中两个IF连用必须加上大括号 错误: if(a>b) if(a>c) a=0; 这样写if(a>b)没作用,只判断了if(a>c) 正确: if(a>b) { if(a>c...
  • godcyx
  • godcyx
  • 2012年11月04日 14:07
  • 5982
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:if语句中括号的匹配
举报原因:
原因补充:

(最多只允许输入30个字)