Vì vậy, tôi đã nói chuyện với bạn của tôi, giúp cô ấy với một đoạn mã, và tôi luôn luôn nghĩ rằng mảng cần phải được biên dịch thời gian hằng số, khi họ đang trên stack. Nhưng cô ấy nói rằng bạn của cô ấy đã làm điều này bằng cách sử dụng mã này:Mảng có kích thước xác định tại thời gian chạy, có hợp lệ trong C++ không?
#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];
}
}
Họ đang sử dụng Dev-C++.
Mã này có giả sử hoạt động không? Tôi cho là không.
bản sao có thể có của [Có cách nào để tạo một mảng chiều dài biến toàn cầu trong C++ không?] (Http://stackoverflow.com/questions/3903232/is-there-any-way-to-make-a-variable -length-array-global-in-c) –
Có lý do gì khiến cô ấy khởi tạo 'value' thành' '' 'không? Trình biên dịch sẽ không quan tâm (nó sẽ đưa '' ''char vào giá trị ASCII của nó,' 32'), nhưng 32 có vẻ giống như một số lẻ, ngẫu nhiên để khởi tạo một int. –
Họ không phải là lập trình viên, chỉ là sinh viên đại học chung. Tôi không thể cho bạn biết tại sao cô ấy chọn '', \ n sẽ ổn thôi. – jValdron