1
我寫的程序在用戶輸入後停止,我不知道爲什麼會發生這種情況。用戶應該給出6個整數,之後程序應該對它進行一些數學計算,現在不是這樣,因爲在插入整數後它結束了,沒有錯誤。程序在用戶輸入後結束
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
int T,i;
int x[5];
scanf("%d", &T);
while(T > 0) {
for(i = 0; i <= 4; i++) {
scanf("%d", &x[i]);
}
int size_tax = x[0] + x[1] + x[2];
int tax[size_tax];
for(i = 0; i <= size_tax; i++) {
if(i == 0) {
tax[i] = x[0];
if(x[4] == 1) {
printf("%d", tax[0]);
break;
}
} else if(i > 0 && i <= x[1] - 1) {
tax[i] = tax[i-1] + 1;
if(x[4] == i + 1) {
printf("%d", tax[i]);
break;
}
} else if(i > x[1] - 1 && i <= x[2] - 1) {
tax[i] = tax[i-1] * 2;
if(x[4] == i + 1) {
printf("%d", tax[i]);
break;
}
}
}
if(x[4] > x[0] + x[1] + x[2]) {
int result = x[3] - 1;
for(i = x[3]; i <= x[4] - 1; i++) {
result = result * x[i];
}
printf("%d", result);
}
T--;
}
}
哪位用戶輸入? while循環之前? – Mozzie
你有兩個scanf()調用。哪一個導致問題? –
'int tax [size_tax]'無效。你不能像這樣初始化一個數組。 size_tax在運行時動態確定,並且在編譯時不可用。你需要malloc()一些內存第一... –