#include <stdio.h>
int main(){
char k;int i;
for(i=1;i<3;i++)
scanf("%c",&k);
switch(k)
{
case'0':printf("a\n");
case'1':printf("b\n");
}
return 0;
}
因为你读取 只会读取你第二个输入的字符,写入在 k 。
你输入 :01
读取到的就是 0
,那么他就会进入switch 执行 case '0' :后面的所有语句,因为你没有写 break 。 所以也会执行case '1' ;
第二个同理 读入 0 就打印 b 了