#c #for-loop #while-loop #printf
#c #для цикла #while-цикл #printf
Вопрос:
Я должен подсчитать, сколько раз цикл выполняется для данного ввода, я пытаюсь использовать пользовательское значение для n
, чтобы получить формулу, но следующая фиктивная программа не показывает никаких выходных данных и не показывает никаких ошибок. Существуют пользовательские значения, n
которые варьируются как 4^k
, и я использовал случайное значение 64
, чтобы увидеть, сколько раз выполняется цикл.
Я попытался включить printf()
инструкцию в сам цикл while, чтобы посмотреть, входит ли компилятор в этот цикл или нет, но я все еще не получаю никакого результата. Я не много программировал на C, и я запускаю программу в онлайн-компиляторе.
int main()
{
int i;
int j;
int n=64;
int count=0;
for(i=1;i<=n;i ){
j = 2;
while(j<=n){
j = i*i;
count =1 ;
}
}
printf("%d",count);
return 0;
}
Комментарии:
1. Возможно, это недостаточно длинная строка для заполнения буфера. Попробуйте добавить новую строку:
printf("%dn",count);
.2. Пожалуйста, не смешивайте разные стили скобок.
Ответ №1:
Первый цикл, переходящий в while
цикл. Мы назначаем
j = 2
Затем, пока j
меньше 64, мы присваиваем
j = 1 * 1
Теперь мы сбрасываем цикл while, но i
он не изменился, поэтому мы делаем снова
j = 1 * 1
Итак, это бесконечный цикл while, который никогда не завершается.