30/09/2018, 16:05
Poll: Kiểm tra kiến thức C - 3.06
Các bạn thảo luận đáp án nhé, bài test lấy từ http://www.indiabix.com/online-test/c-programming-test/13
6.What will be the output of the program in Turbo-C ?
#include<stdio.h>
int main()
{
int arr[5], i=-1, z;
while(i<5)
arr[i]=++i;
for(i=0; i<5; i++)
printf("%d, ", arr[i]);
return 0;
}
- A. 1, 2, 3, 4, 5,
- B. 1, 0, 1, 2, 3, 4
- C. 0, 1, 2, 3, 4,
- D. 0, -1, -2, -3, -4,
Bài liên quan
code thừa biến z rồi.
Sao nhiều người chọn C thế nhỉ ko lẽ mình sai
Bạn có chắc chắn là sai không?
đoạn kiểm tra đánh đố nhờ . tiếc là ở đây ta chỉ cần quan tâm từ for thôi
Em nhầm rồi
không phải là dù trc for có là 50 chẳng hạn thì vào for ta lại gán vào bằng 0 là gì? đại ca thử tư vấn giùm cái
Trong vòng for chỉ là in ra thôi mà em. Nếu không có while sao đưa giá trị vào mảng đc
ok ! thì mới đầu thấy điều kiện để chạy tới for là đúng rồi lên ko đẻ ý nữa. i=-1 xong qa while là hợp lệ. thì khi vào for lại bị gán lại. cảm ơn pác
Vẫn nhầm rồi
nếu nói nhầm thì hiểu rrồi. đầu tiên lấy giá trị là -1 tăng lên 0 sau đó in ra 0 rồi lại về while ++ sau đó xún for. chết mẹ thế ra 5 lần while chứ ko phải 1
Đúng rồi, nhưng cái quan trọng bạn bỏ qua mất.
Bạn phải để ý, cái i ở trên là i dùng để đưa giá trị vào mảng. i ở dưới là để chỉ vị trí của mảng. 2 cái này khác nhau. Bạn bỏ 2 dòng while đi, chạy mỗi vòng for sẽ thấy vẫn in ra giá trị nhưng linh tinh. Cho nên lúc đầu bạn nói chỉ quan tâm vòng for là bị nhầm
chuẩn. ko thể mắt nhắm mắt mở đc. vấn đề là thiếu tiếp xúc quá