main() {int i;char k; for(i=1;i<3;i++) {scanf("%c",&k); switch(k)

main()
{int i;char k;
for(i=1;i<3;i++)
{scanf("%c",&k);
switch(k)
{case'0':printf("a\n");
case'1':printf("n\n");}
}
}
输入01按回车怎么能分别取字符两次?
我觉得应该输0回车打印出来在输1,再打印啊 结果第二次不让输入

//这是很常见的回车问题

#include <stdio.h>
int main()
{
    int i;
    char k;
    for(i=1; i<3; i++)
    {
        scanf("%c",&k);
        switch(k)
        {
        case'0':
            printf("a\n");

        case'1':
            printf("n,当k='0'是,打印到这里结束!\n\n");
            break;

        case '\n':
            printf("这段文字当k='\\n'时,打印出来\n");
            printf("输入0后按回车,那你只接收两个字符'0'和'\\n'\n");
            printf("注意:回车也是一个字符,你要消去回车的影响\n");
        }
    }
}

把for(i=1; i<3; i++)改为for(i=0; i<3; i++) 接受三个字符就OK了!



希望能帮助到你,加油!

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答