2014-09-16 7 views
0

У меня есть некоторые проблемы при выполнении этого кода в Codeblocks. Когда я запускаю код, он работает нормально до строки scanf, после чего возникает ошибка и останавливается запуск кода.ошибка при выполнении программы

#include <stdio.h> 
#include <ctype.h> 

int main(){ 
    char lower, upper, option; 

     puts("Type '.' to end the program."); 
     printf("U-to upper\nL-to lower\n"); 
     fflush(stdin); 
     scanf("%c", option); 
     switch(option){ 
      case 'u': 
      case 'U': 
       do{ 
        fflush(stdin); 
        lower=getchar(); 
        upper=toupper(lower); 
        putchar(upper); 
       }while(lower!='.'); 
       break; 
      case 'l': 
      case 'L': 
       do{ 
        fflush(stdin); 
        upper=getchar(); 
        lower=tolower(upper); 
        putchar(lower); 
       }while(upper!='.'); 
       break; 
     } 
    return 0; 
} 
+0

'scanf ("% c ", опция);' не имеет & – Haris

+0

Превратите свой уровень предупреждения вверх. –

+0

Возможный дубликат [Scanf вызывает сбой программы c] (http://stackoverflow.com/questions/8281054/scanf-causes-c-program-to-crash) –

ответ

0

Изменение линии scanf("%c", option); следующим образом,

scanf("%c", &option); 

Теперь программа будет работать нормально. & требуется с % c.

+0

спасибо! Он отлично работает –

Смежные вопросы