繁体   English   中英

将数据塞进单个语句中[关闭]

Cramming data into a single statement [closed]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

以我拥有的以下字数统计程序为例,其中一个单词(天真地)被视为whitespace之间的alnum

#include<stdio.h>
#include<ctype.h>
#include<stdbool.h>

int main(void)
{
    // grab a segment of text until EOF
    int current_char;
    int num_words=0, num_chars=0, num_lines=0; // ignore whitespace
    bool in_word;

    printf("Enter your text here:\n");

    while ((current_char=getchar()) != EOF)
    {
        if (current_char == '\n')
            in_word ? num_words++, num_lines ++, in_word-- : num_lines++;
        else if (isalnum(current_char))
            num_chars ++, in_word=true;
        else if (isspace(current_char))
            in_word ? num_words++, in_word-- : ' ';
    }
    if (in_word) num_words ++;

    printf("\nChar Count: %d | Line count: %d | Word count: %d\n", num_chars, num_lines, num_words);

}

忽略单词检测的幼稚,将东西塞进一个语句中以便可以跳过大括号是否被认为是不好的做法? 例如,我想第一个if的“长格式”版本是:

if (current_char == '\n')
{
    num_lines ++;
    if (in_word)
        num_words ++;
    in_word = false;
}

这对我来说似乎更具可读性和易于理解,但我经常会在 C 中看到很长的单行,所以我想知道为什么可以使用一种选择而不是另一种。

例如,这是postgres中的一行,它似乎是一个太长的单行,我很难理解:

if (!gsets)
    ereport(ERROR,
        (errcode(ERRCODE_STATEMENT_TOO_COMPLEX),
        errmsg("too many grouping sets present (maximum 4096)"),
        parser_errposition(pstate,
            qry->groupClause
            ? exprLocation((Node *) qry->groupClause)
            : exprLocation((Node *) qry->groupingSets))));

问题暂未有回复.您可以查看右边的相关问题.
2 if语句中的单个变量

我基本上想要一种只包含一个变量的if语句,例如: 或更具描述性地,而不是: 我该如何做类似的事情,但实际上可行: 而且我不想将125行代码放入函数中,因为它们包含在代码前面设置的数十个变量,并且我真的不想创建一个函数,我必须将数十个变量传递给它。工作。 ...

3 在单个SELECT语句中获取数据的每月分布

我需要使用一个单独的mysql语句每月分配一次数据。 以下语句的预期结果:具有12行的表。 如果一个月内没有可用数据,则该月应返回0。 但是,在当前SQL语句的结果中,如果缺少数据,则将丢失一或多个行。 我想念什么? SELECT m.Month as m1, MONTH(FROM_U ...

2019-01-25 23:26:21 1 29   mysql/ sql
4 在单个select语句中插入外键和数据

我有一个类似于以下内容的插入语句: pid和gid共同构成了主键,每个键本身显然是引用两个不同表的外键; 个人和团体。 现在,表memberOf包含另外两列:从和直到,每个都是代表该人曾经或成为该组成员的时间范围的日期。 有什么办法可以在这个insert语句中将memberOf ...

2016-02-04 22:10:34 2 29   sql/ db2
5 单个语句中的多个递归

我有一个问题问,执行以下代码时,打印了“ 1”多少次: 答案= 63 当试图解决上面显示的上述问题时,我对某些递归概念感到困惑。 1&gt;如何在单个语句中使用多个递归调用解决问题。 在问题中,递归以什么顺序进行,同时发生还是一个接一个发生。 2&gt;我(在C语言中 ...

7 单个IF语句中的多个条件

我想在SQL中的单个IF语句中添加多个条件。 我不擅长SQL并提到一些例子,所有都只显示IF中的一个条件。 这是我的程序。 在IF中这种正确的多语言语法是什么? ...

9 在单个语句中插入,更新

我有两个表table1用于添加详细信息,而表2用于更新表1的ID。我的类如下所示: 插入成功完成,但是更新无法正常工作,它显示错误“对象引用未设置为对象实例”。如何解决此问题? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM