#include <stdio.h>
int main(void)
{
int a=17;
scanf("%d",&a);
int arr[a];
printf("%lu", sizeof(arr));
}
数组“arr”的内存应该在编译时分配,但在这种情况下,它从用户(运行时)获取值“a”,并为数组分配相同大小的内存。请澄清。
#include <stdio.h>
int main(void)
{
int a=17;
scanf("%d",&a);
int arr[a];
printf("%lu", sizeof(arr));
}
数组“arr”的内存应该在编译时分配,但在这种情况下,它从用户(运行时)获取值“a”,并为数组分配相同大小的内存。请澄清。
sizeof
操作符生成的size_t
类型的值应该使用%zu
进行打印。