2016-10-18 5 views
-2

hey im lost on why this loop does not work все кажется правильным, но ничего внутри работы работает, пожалуйста, помогите остальной части кода в других файлах, если они вам нужны, я могу опубликовать ихПростая программа C В то время как цикл не работает

#include <stdio.h> 
#include "weatherstation.h" 
int dunits = METRIC; 

void main(void) 
{ 
char test; 
InitializeWeatherStation(); 
while(1); 
{ 
    UpdateWeatherStation(); 
    printf("Enter m for Metric units, b for British units, or q to quit"); 
    scanf_s("%c",&test); 
    if(test == 'm') 
    { 
     dunits = METRIC; 
    } 
    else if(test == 'b') 
    { 
     dunits = BRITISH; 
    } 
    else if(test == 'q') 
    { 
     return; 
    } 
    DisplayWeatherData(dunits); 
} 
} 
+2

Ваш код [не работает] (http://importblogkit.com/2015/07/does-not-work/)? –

ответ

2
while(1); 
{ 
    something; 
} 

является точно же, как:

while(1) 
{ 
} 
{ 
    something; 
} 

Другими словами, то, что у вас есть есть бесконечный цикл, после чего контекстными блок кода (который никогда не будет достигнут).

Избавьтесь от точки с запятой, и она должна исправить эту конкретную проблему.

+0

Похожие ответы: http://stackoverflow.com/questions/37482904/why-didnt-the-compiler-warn-me-about-an-empty-if-statement –

1

Вы не должны заканчивать while(1) с полуколоночным чуваком. Потому что это нулевой оператор, который вы там написали.