c语言的,帮忙看一下,很短,很简单,谢谢。

来源:百度知道 编辑:UC知道 时间:2024/05/26 14:48:21
我刚开始学c,并且是自学,有些不懂问一下哈。
下面这个是我尝试input的一个程序
以下程序应该会显示4行吧,因为有4个printf.
但为什末运行时只显示前两个能?就是第1,2个。
后两个,第3,4个到哪去了???
麻烦帮我试一下,谢了。

#include <stdio.h>
int main ()
{
char character; int a, b;
printf("Enter any one keyboard character:m");
scanf("%c",&character);
printf("enter 2 integers separated by a space:100 200");
scanf("%d%d",&a,&b);
printf("The letter entered was %c\n", character);
printf("Integers entered were %d and %d\n", a, b);
return 0;
}

最后的正确结果是:
enter any one keyboard character: m
enter 2 intergers separated by a space: 100 200
the letter entered was m
integers entered were 100 and 200

但我一楼那个只是:
enter any one keyboard character: m
enter 2 intergers separated by a space: 100 200
我晕,我试了下在按两个回车,也就是显示完两行之后敲数字。
但问题是exe文件一瞬间就完了。

#include <stdio.h>
int main ()
{
char character; int a, b;
printf("Enter a character:");
scanf("%c",&character);
printf("enter 2 integers separated by a space:");
scanf("%d%d",&a,&b);
printf("The letter entered was %c\n", character);
printf("Integers entered were %d and %d\n", a, b);
return 0;
}
根据提示输入即可

程序没问题,只是需要你输入
scanf是输入函数

相关函数 fscanf,snprintf

表头文件 #include<stdio.h>

定义函数 int scanf(const char * format,.......);

函数说明 scanf()会将输入的数据根据参数format字符串来转换并格式化数据。Scanf()格式转换的一般形式如下
%[*][size][l][h]type
以中括号括起来的参数为选择性参数,而%与type则是必要的。
* 代表该对应的参数数据忽略不保存。
size 为允许参数输入的数据长度。
l 输入的数据数值以long int 或double型保存。
h 输入的数据数值以short int 型保存。
底下介绍type的几种形式
%d 输入的数据会被转成一有符号的十进制数字(int)。
%i 输入的数据会被转成一有符号的十进制数字,若输入数据以“0x”或“0X”开头代表转换十六进制数字,若以“0”开头则转换八进制数字,其