scanf函数在不同控制符下,对数组或字符串中空格回车的录入输出的反应

·scanf("%d",&a[i]);//单次录入整型数组a的元素,一次只能录一个,不会录入空格回车(即1 2 3=123,且输入空格回车不会存入数组a中,scanf直到遇到第5个非空白字符才结束录入) 
scanf("%f",&a[i]);//%f同上 


    int a[5];
	for(int i=0;i<=4;i++){
		scanf("%d", &a[i]);
		
	} 
	printf("%d%d%d",a[2],a[3],a[4]);
	

输入:0空格1回车2空格3回车4

输出:234

·scanf("%c",&a[i]);//单次录入字符型数组a的元素,一次只能录入一个,并且可以录入空格回车(即输入空格回车会被存入数组a中,空格回车可作为a内元素被打印出来) 


	char a[5];
	for (int i = 0; i <= 4; i++){
		scanf("%c", &a[i]);

	}
	printf("输出:%c%c%c", a[2], a[3], a[4]);

输入:a空格b回车c

输出:b回车c

·scanf("%s",a);//一次性录入字符串a的所有内容,一次录完所有元素(录入整个字符串),不录入空格回车(1 2 3=1,即遇到空格将不会录入,但并不结束scanf,而是遇到末尾回车才会结束录入)

*注意录入字符串不用加地址符& ,如果想录入带空格的字符串,可以用gets()函数


	char a[5];
	
	scanf("%s", a);

	
	printf("%s", a);

  输入:kc空格e空格r回车

  输出:kc                                                 
 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值