天津四喜丸子的做法:c语言的,帮忙看一下,很短,很简单,谢谢。

来源:百度文库 编辑:中科新闻网 时间:2024/05/06 02:48:09
我刚开始学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”开头则转换八进制数字,其他情况代表十进制。
%0 输入的数据会被转换成一无符号的八进制数字。
%u 输入的数据会被转换成一无符号的正整数。
%x 输入的数据为无符号的十六进制数字,转换后存于unsigned int型变量。
%X 同%x
%f 输入的数据为有符号的浮点型数,转换后存于float型变量。
%e 同%f
%E 同%f
%g 同%f
%s 输入数据为以空格字符为终止的字符串。
%c 输入数据为单一字符。
[] 读取数据但只允许括号内的字符。如[a-z]。
[^] 读取数据但不允许中括号的^符号后的字符出现,如[^0-9].

返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。

范例 #include <stdio.h>
main()
{
int i;
unsigned int j;
char s[5];
scanf(“%d %x %5[a-z] %*s %f”,&i,&j,s,s);
printf(“%d %d %s\n”,i,j,s);
}

执行 10 0x1b aaaaaaaaaa bbbbbbbbbb
10 27 aaaaa

scanf("%d%d",&a,&b); => scanf("%d %d",&a,&b);

你把return 0; 前面加上一句getchar();或者加上scanf("%c",&character); 试试。

你和程序没有错,输入两行后要你输入两个数字:)

程序没有执行完,在等待键盘的输入。
输入值,然后按enter