为什么printf语句连续运行中间的scanf没弹出来? scanf和printf语句的使用特点
- 为什么这个程序在执行最后的printf后不执行scanf就退出了
- printf()为什么显示不出来
- scanf输入后printf为什么无法输出?
- C语言。为什么在调用函数中用了scanf.之后主函数的scanf和printf语句就不执行了?怎么办呀
为什么这个程序在执行最后的printf后不执行scanf就退出了
在两个prinf之间加上getchar就好了 即你的最后三行改成:
printf("%c\n",c);
printf("please input next alphbat");
getchar();
scanf("%c",&c);
你追问的那个小程序不用加有两个原因
1,程序内只用了一次scanf函数,所以不存在上次输入时产生的回车字符
2.输入类型为float型,对于int, double 这些类型是不用担心回车符的,因为回车是字符,scanf中是不会接收的
但是对于char型来说,回车字符也是字符,所以在上一次scanf函数中回车也被当做字符而接收了
我编写了一个小程序用于测试:
#include <stdio.h>
int main()
{
char a;
printf("1\n");
printf("2\n");
scanf("%c",&a);
printf("3\n");
scanf("%c",&a);
return 0;
}
输入类型为char的时候 最后一句scanf就直接被跳过了
但是你换成int 类型的时候就可以正常输入 楼主可以自己测试下
printf()为什么显示不出来
你把两个 scanf 语句中的"%d\n",更改为:"%s" 就正确了。
如下:scanf("%s",firstname);
scanf("%s",surname);
printf("You are %s, %s.\n", firstname,surname);
完整的程序如下:
#include <stdio.h>
int main(void)
{
char surname[6], firstname[6] ;
printf("Please input your firstname and surname:");
scanf("%s", firstname);
scanf("%s", surname);
printf("You are %s, %s.\n", firstname,surname);
return(0);
}
scanf输入后printf为什么无法输出?
代码有错误,原因是 scanf第一个参数是格式控制字符串, int的输入格式为%d
具体修改如下:
scanf("%a",&a); 修改为 scanf("%d",&a);
scanf("%b",&b); 修改为 scanf("%d",&b);
C语言。为什么在调用函数中用了scanf.之后主函数的scanf和printf语句就不执行了?怎么办呀
执行了的
# include"stdio.h"
void mm(int &n)
{
int a;
scanf("%d",&a);
}
int main()
{
int a;
char ch='Q';
mm(a);
printf("请选择:\n");
scanf("%c",&ch);
printf("%c %d %x\n",ch, ch, ch); //实际上ch就是你输入的回车符
}