0
这里是一个d运动:为什么break语句无法摆脱while循环?
import std.stdio;
void main()
{
int[] narray;
while(true) {
writeln("Enter your numbers: ");
int tmp;
readf(" %s", &tmp);
if(tmp == -1) {
writeln("It's -1, finish reading numbers.");
break;
}
else {
writeln("Storing ", tmp, " to array.");
narray ~= tmp;
printArray(narray);
}
}
int[] narrayOdd;
int[] narrayEven;
int counter = 0;
while(counter < narray.length) {
if((counter % 2) == 0) {
narrayEven ~= narray[counter];
}
else {
narrayOdd ~= narray[counter];
}
}
narrayOdd.sort;
narrayEven.sort;
writeln("Your numbers in odd positions sorted: ");
printArray(narrayOdd);
writeln("Your numbers in even positions sorted: ");
printArray(narrayEven);
}
void printArray(int[] x) {
int counter;
while(counter < x.length) {
write(x[counter], " ");
counter++;
}
write("\n");
}
我的意思是打出来的,而循环,当用户输入-1,但它拒绝这样做。哪里不对了?
我试过了dmd和ldc2。