scanf(%d),连续输入数字和字符(一条无空格字符串)

Posted joker D888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scanf(%d),连续输入数字和字符(一条无空格字符串)相关的知识,希望对你有一定的参考价值。

scanf(%d),连续输入数字和字符(一条无空格字符串)

scanf("%d"),如果缓存区的开始是数字,scanf会读入,直到遇见非数字字符,否则不会读入

#include<iostream>
using namespace std;
int main()

	int a[100];
	char c[100];
	for (int i = 0; i < 5; ++i) 	//一次输入1a2b3c4d5e,scanf(%d)只有一开始遇见数字才能把数字读走,%d会读入数字,直到遇见字符a停止
		scanf("%d", &a[i]);			//如果在下一读入数字前,缓冲区最开始依然不是数字就永远不会读入之后的数字
		//c[i] = getchar();		//通过注释或解注释此语句,通过调试看数组a和c里面的内容,即可得证
	
	return 0;

#include<iostream>
using namespace std;
int main()

	int a;				
	scanf("%d", &a);	//输入“*5”
	char b = getchar();   //b='*'
	char c = getchar();	  //c='5'	//a不变
	return 0;

以上是关于scanf(%d),连续输入数字和字符(一条无空格字符串)的主要内容,如果未能解决你的问题,请参考以下文章

c语言中多个scanf怎么输入

是输入输入的小技巧和细节们

为啥不能用scanf读入一个含有空格的字符串

C语言 一行数据 空格分隔

C 不能输入带空格的字符串

实验二