【问题标题】:C: Is this type of initialization correct?C:这种初始化方式正确吗?
【发布时间】:2010-01-21 08:17:32
【问题描述】:
int startingPoint[2]={i,j};

我是在阅读在线代码后得到的。这是正确的吗?意味着如果 i 和 j 的值可以在此语句之前在运行时更改,这是否会使用正确的值初始化数组?请解释一下。

【问题讨论】:

    标签: c


    【解决方案1】:

    这在 C99 中有效,但在 C89 中无效。

    【讨论】:

    【解决方案2】:

    int 起点[2]={i,j};
    我是在阅读在线代码后得到的。这是正确的吗?

    是的,这是一个正确的 C 代码(适用于所有现代 C 编译器)。但是,它不适用于 C89 编译器。

    表示如果 i 和 j 的值可以在运行时在此语句之前更改,这是否会使用正确的值初始化数组?

    是的!

    scanf("%d %d",i,j);
    /* some code */
    
    int abc[]={i,j};
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 2011-08-20
      • 2010-10-02
      • 1970-01-01
      相关资源
      最近更新 更多