| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 127 人关注过本帖
标题:为啥咋输入都输出 耶 啊()TaT
只看楼主 加入收藏
bug芒果核
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2025-9-12
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
为啥咋输入都输出 耶 啊()TaT
#include<stdio.h>
int main(){
    char a[300];
    int x=0;
    scanf("%s",&a[300]);
    for(int i=0;;i++){
        if(a[i]=='(') x++;
        else if(a[i]==')'){
            x--;
            if(x<0){
                printf("NO");
                return 0;
            };
        }
        else if(a[i]=='@') break;
    }
    if(x) printf("NO");
    else printf("YES");
    return 0;
}
题目描述
假设一个表达式有英文字母(小写)、运算符(+、-、*、/)和左右小(圆)括号构成,以 @ 作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则输出 YES;否则输出 NO。表达式长度小于 255,左圆括号少于 20 个。
输入格式
一行:表达式。
输出格式
一行:YES 或 NO。
搜索更多相关主题的帖子: 表达式 输出 括号 printf 输入 
5 天前 19:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9069
专家分:54431
注 册:2011-1-18
收藏
得分:10 
scanf("%s",&a[300]);
改为
scanf("%s",a);

如果表达式包含空白字符的话,scanf( " %[^@]%*c", a );且a以'\0'结尾(不是'@')

[此贴子已经被作者于2025-9-25 08:32编辑过]

4 天前 08:24
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:300
专家分:2269
注 册:2023-6-29
收藏
得分:10 
基础知识:  &a[300]表示取a数组的第301个元素的地址, 也就是a数组之外了,越界,  &a[0]这样表示a数组的第一个元素的地址, 或者直接写a, a这个变量本身就是保存的一个地址, 且是数组的首地址
4 天前 10:06
bug芒果核
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2025-9-12
收藏
得分:0 
回复 2楼 rjsp
4 天前 23:42
快速回复:为啥咋输入都输出 耶 啊()TaT
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016646 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved