我在C之前學習了Objective-C,現在我要回到C了,我不明白爲什麼printf()
在循環內部不起作用?有人能勸我嗎?爲什麼printf在我的程序中不能正常工作(嘗試刷新)
該計劃是Skiena和Revilla編寫的「編程挑戰」一書中的第一項挑戰,如果有人想知道。
#include <stdio.h>
#include <stdbool.h>
static int inputInt;
static int secondInt;
int returnCycleNumber(int givenNumber);
int returnCycleNumber(int givenNumber) {
bool initial = true;
int counter = 1;
do
{
if (givenNumber % 2 != 0)
{
givenNumber = givenNumber * 3 + 1;
counter = counter + 1;
printf("\n%i", givenNumber);
}
else
{
givenNumber = givenNumber/2;
counter = counter + 1;
printf("\n%i", givenNumber);
}
if (givenNumber == 1) {
initial = false;
}
} while (initial == true && givenNumber > 1);
return counter;
}
int main(int argc, const char * argv[])
{
scanf("%i %i", &inputInt, &secondInt);
fflush(stdout);
int arrayCount[secondInt];
for (int counter = 0; counter == (secondInt - inputInt); counter++) {
arrayCount[counter] = returnCycleNumber(inputInt + counter);
}
printf("\n%i", arrayCount[1]);
return 0;
}
我懷疑,如果你使用一個調試器,並通過它加強你會看到什麼問題了。 –