qq_40286127 2017-09-17 13:54 采纳率: 100%
浏览 1300
已采纳

C语言从键盘输入字符错误,求解(Linux centos7)

$ cat input2.c
#include
int main()
{
int i;
char c;
char str[30];

printf("input a int  :");
scanf("%d",&i);
printf("input a char :");
scanf("%c",&c);
printf("input string :");
scanf("%s",str);
printf("int is %d,\tchar is %c,\tstring is %s\n",i,c,str);
return 0;

}
$ ./input2.o
input a int :3
input a char :input string :asdf
int is 3, char is
, string is asdf
但是如果先输入字符,后输入整数,则正常。如下:
cat input.c
#include
int main()
{
int i;
char c;
char str[30];
printf("input a char :");
scanf("%c",&c);
printf("input a int :");
scanf("%d",&i);
printf("input string :");
scanf("%s",str);
printf("int is %d,\tchar is %c,\tstring is %s\n",i,c,str);
return 0;
}
$ ./input.o
input a char :a
input a int :345
input string :abcedf
int is 345, char is a, string is abcedf

  • 写回答

4条回答 默认 最新

  • threenewbee 2017-09-18 11:24
    关注

    晕,这个问题回答过你了,怎么我的回答不见了。
    将 scanf("%c",&c); 修改为 scanf("\n%c",&c); 其余类似

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏