【问题标题】:Declare multiple integer variables in C在 C 中声明多个整数变量
【发布时间】:2021-08-11 10:01:38
【问题描述】:

在我开始之前,我的英语不太好,所以我使用翻译,所以你可能不太了解。

我很抱歉。不过题目的内容很简单,理解起来应该不难。

一天记不太清楚了,但是看到了一段类似下面的代码。

#include <stdio.h>
int main(){
int a,b,c = 1,d,e;
return 0;
}

那时,我只是放下了。但现在回想起来,我很好奇。 于是我检查了 C 的值,结果是 1。

我把1改成0,确认C的值为零。

其他数字的结果相同。

我以前从未见过这样的代码。

同时,我知道要声明一些变量,我必须按照下面的代码来做。

int a = 1, b = 2, c = 3; 但这不是我所知道的。

经过几次实验,我发现a,b,c,d,e是自变量。

除了C,a,b,d,e包含垃圾值。

我想知道为什么这在语法上是可能的,以及为什么没有按从左到右的顺序分配值。

再次对不起使用翻译器。

【问题讨论】:

  • 问题是你可以声明变量,然后初始化你想要的任何变量。从左到右初始化没有语法规则。
  • ;是一个标点符号,在声明变量时完成赋值或初始化。在;之前声明多个变量是有效的。
  • 天啊,这是一件非常简单的事情。非常感谢你们!!

标签: c syntax


【解决方案1】:
int a,b,c = 1,d,e;

相同
int a;
int b;
int c = 1;
int d;
int e;

【讨论】:

    【解决方案2】:

    除了 C,a,b,d,e 包含垃圾值 - 这是因为只有 C 被声明和初始化为值 1。其他的只是在随机内存位置声明,因此有垃圾值

    我想知道为什么这在语法上是可能的 - 它仍然是正确的语法。查看@pmg 的答案

    同时,我知道要声明一些变量,我必须按照下面的代码进行。 int a = 1, b = 2, c = 3; - 在这里,您实际上是在用不同的值声明和初始化它们。您始终可以在单个语句中声明任意数量的变量(具有相同的数据类型)。

    【讨论】:

    • 谢谢!根据等号,我以为左右两边是不同的!
    猜你喜欢
    • 2017-05-13
    • 2017-04-07
    • 2011-05-04
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    相关资源
    最近更新 更多