C语言使用scanf输入

scanf()函数结构

scanf()函数被用来从stdin读入数据,并且在程序中储存数据。默认,这个stdin流是来着键盘输入。
scanf()的函数结构与printf()类似:

int i;
scanf("%d",&i);

%d 是一个占位符,说明这个地方有一个变量,并且为整型变量
& 是个地址符,表明这个地方放置地址,&i的意思就是 i这个变量的地址

int i;
float j;
scanf("%d%f", &i, &j);

当输入两个以上的变量的时候,使用空格来分隔这两个变量

需要注意的是对变量的定义要和输入时的类型保持一致:

#include <stdio.h>

int main(void)
{

        int i;
        printf("please input a number: ");
        scanf("%f",&i);

        printf("You inputed number is %f\n",i);

}

此时得到的结果会是一个意想不到的值

另外,不要使用float值作为输入类型,请一律使用double,然后在占位符的地方设置为%lf,这样才可以得到正确的结果。

#include <stdio.h>

int main(void)
{

        double i;
        printf("please input a number: ");
        scanf("%lf",&i);

        printf("You inputed number is %lf\n",i);

}
scanf()字符串输入:
char str[100];
scanf("%s", str);

scanf会接收100字符内的所有输入,直到出现空格空格,例如Hello World,实际上只是输入了Hello.
scanf还有更灵活的应用,scanf("%[etp]",str),此时scanf只接受e\t\p三个字符,只要不存在这三个字符,立即就完成输入
please input a string : eetttsdfasfd
You inputed string is eettt

please input a string : tpaejk
You inputed string is tp

scanf("%[^etp]",str) 则与前面的相反,只要遇到e\t\p就会终止

#include <stdio.h>
int main(void)
{
	int a, b;
	scanf("%dm%d", &a, &b);
	printf("%d %d\n", a, b);
	return 0;
}

请注意在%d %d之间有一个m,所以在输入的时候,我们也必须输入一个m作为间隔
当我们想输入日期的时候,我们就可以使用%d/%d/%d

返回值

scanf()正常的返回值是1,因此当返回值不为1时,说明函数未被正确执行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值