首页 > 代码库 > 括号配对
括号配对
知识:字符串接受结束后自动加‘\0‘。 使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止*/
scanf 不能读取回车和储存
scanf不能接受空格、制表符Tab、回车等; 而gets能够接受空格、制表符Tab和回车等;
scanf碰到缓冲区里面的空字符(空格,tab,回车,换行就会截断并添加\0),而gets是要等回车才截断字符串并添加\0的
比如 "hello world!" 字符串长度为12 (字符串存储时结尾自动加上\0字符) 如果这样写 "hello \0world!" 字符串长度为6 (空格也算一个字符)
sprintf(a,"%2.2s",a);中第一个2表示最终生成的字符串不超过2个字符,如果超出了最后一位用字符串结束符填充,,第二个2表示在后面的字符串中最多去2个字符,
现在,有一行括号序列,请你检查这行括号是否配对。
- 输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
- 输出
- 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No。
- 第一:配对的前提:字符个数必须为偶数个
- 第二:第一与 N配对
- 第二与 N-1配对
- 循环结束条件为 j-i==1
括号配对
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。