【发布时间】:2025-12-11 23:25:01
【问题描述】:
所以我正在和我的朋友交谈,帮助她编写一段代码,我一直认为数组需要是编译时常量,因为它们在堆栈上。但她说她的朋友是用这个代码做的:
#include <iostream.h>
#include <stdlib.h>
int main()
{
int value = ' ' ;
int sum = 0;
int count = 0;
cout<<"Please enter the total number of employees" <<endl;;
cin>> value;
int numbers[value];
cout<<"Now enter the employees corresponding salaries" <<endl;;
for (int k = 0; k < value; k++)
{
cin >> numbers[k];
}
}
他们正在使用 Dev-C++。
这段代码可以工作吗?我想不会。
【问题讨论】:
-
她将
value初始化为' '有什么原因吗?编译器不会关心(它会将' '字符转换为其ASCII 值32),但32 似乎是一个奇数的随机数,可以将int 初始化为。 -
他们不是程序员,只是普通的大学生。我无法告诉你她为什么选择“ ”,\n 就可以了。
-
@jValdron:
0会很好int不是char...这就是为什么这对我们来说看起来很奇怪。