C 在赋值时,在编写程序时是否必须提到数组大小
在let us C中提到,“在分配数组时,我们必须在编写程序时确定数组的大小”。但在下面的代码中,我给出了执行时的大小,它仍然在工作,那么哪一个是正确的 代码:C 在赋值时,在编写程序时是否必须提到数组大小,c,C,在let us C中提到,“在分配数组时,我们必须在编写程序时确定数组的大小”。但在下面的代码中,我给出了执行时的大小,它仍然在工作,那么哪一个是正确的 代码: #include <stdio.h> void main(){ { int n,i; printf("give the size of the array \n"); scanf("%d",&n); int a[n]; printf ("give array elemen
#include <stdio.h>
void main(){
{
int n,i;
printf("give the size of the array \n");
scanf("%d",&n);
int a[n];
printf ("give array elements\n");
for (i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
}
#包括
void main(){
{
int n,i;
printf(“给出数组的大小\n”);
scanf(“%d”和“&n”);
int a[n];
printf(“给出数组元素\n”);
对于(i=0;i首先,我认为你指的是声明而不是赋值
这就是说,这被称为或VLA。这是一个C99以后的添加
引用C11
,第§6.7.6.2/P4章
如果大小是整数常量表达式
并且元素类型具有已知的常量大小,数组类型不是可变长度
数组类型;否则,数组类型为可变长度数组类型
首先,我认为你的意思是声明而不是指派
这就是说,这被称为或VLA。这是一个C99以后的添加
引用C11
,第§6.7.6.2/P4章
如果大小是整数常量表达式
并且元素类型具有已知的常量大小,数组类型不是可变长度
数组类型;否则,数组类型为可变长度数组类型
这是a,在C中完全有效(因为C99标准)
您可能应该更新您的书籍。这是a,在C中完全有效(因为C99标准)
你可能应该更新你的书。这里说:你正在使用的书“是一本非常过时的书,教Turbo C,有很多过时的、误导性的和完全不正确的材料”。这里说:你正在使用的书“是一本非常过时的书,教Turbo C,有很多过时的、误导性的和完全不正确的材料”。