我在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 :(得分:0)
更改行scanf("%c", option);
,如下所示,
scanf("%c", &option);
现在程序运行正常。 %c 需要&amp; 。