小编Kai*_*aha的帖子

作为数据结构,列表、元组和数组有什么区别?

这里我不是在谈论某种特定的编程语言。我想知道不同数据结构之间这些东西有什么区别。我认为列表基本上应该是可调整大小的,而数组则不是,但我不确定。

arrays tuples list data-structures

5
推荐指数
1
解决办法
2465
查看次数

有没有办法在 scanf() 函数中强制输入空格?

例如,我想让用户在值之前键入所需的消息,如下所示:

scanf(" Message%c", &character);
Run Code Online (Sandbox Code Playgroud)

没关系,但是我希望这条消息包含一些像这样的空格:

scanf(" A required message %c", &character);
Run Code Online (Sandbox Code Playgroud)

编译器不会抱怨任何东西,但空格无关紧要,输入:

A required message C
Run Code Online (Sandbox Code Playgroud)

ArequiredmessageC
Run Code Online (Sandbox Code Playgroud)

给出相同的结果。

有没有办法让这些空格成为强制性的?

c whitespace input scanf

3
推荐指数
1
解决办法
94
查看次数

为什么在初始化指针时必须将数组强制转换为 type[]?

我们在初始化指针时不强制转换字符串:

char *string = "Hello World!";
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试显式定义一个数组(无论它是什么),编译器都会给我一个类型不兼容的警告:

char *string = {'H', 'e', 'l', 'l', 'o', '\0'};
Run Code Online (Sandbox Code Playgroud)

投射到char[]作品,但我想知道为什么我们必须投射?编译器没有看到初始化值{'H', 'e', 'l', 'l', 'o', '\0'}已经是一个数组吗?如果我们string[]以同样的方式初始化一个数组,我们就不必强制转换。我在这里假设编译器看到初始化值是什么,为什么在初始化指针时没有看到它?

c arrays pointers

2
推荐指数
1
解决办法
56
查看次数

使条件运算符的行为类似于 C 中的 if/else 语句

是否可以让?:操作员处理以下示例中的多个语句?

condition ? FirstTrueExpression SecondTrueExpression : FirstFalseExpression SecondFalseExpression
Run Code Online (Sandbox Code Playgroud)

有没有办法避免指定“else”语句?

condition ? TrueExpression
Run Code Online (Sandbox Code Playgroud)

c conditional-operator conditional-statements

1
推荐指数
1
解决办法
96
查看次数

当随机数生成器被播种时,rand() 是否确实产生了一个随机值?

我知道为了避免重复rand()函数的相同输出,伪随机数生成器必须与srand函数一起播种。这意味着,如果我尝试 say srand(1), 的输出rand()将是一个值,如果我尝试srand(2),输出将包含另一个值。但是当我再次尝试第一个参数时srand(1),该值将与第一个输出中的值相同。这个问题让我认为所有随机值都可以以某种方式预测。同一个种子是否可以有不同的输出(比如我明天尝试同一个种子)?还是随机值确实可以预测?

c random random-seed

1
推荐指数
1
解决办法
98
查看次数