c语言 如何用数组形式一次性输入几个数字 中间有空格 不换行

比如:2 3 11 23 21 5 7 7 以回车作为结束

给个例子你吧
#include<>
int main()
{
int n[8],i; //定义一个有8个元素的一维数组
for(i=0;i<8;i++)
scanf("%d",&n[i]); //一般数组用循环输入,二维就用2个循环输入,不懂可以追问我
printf("");
return 0;
}追问

如果真像你这样那怎么算一次scanf输入的结束呢 你这个行不通

追答

你直接一次性输入就可以的了,它是存在缓冲区里面,当你需要的时候他会从缓冲区里取出来的

追问

能像我解释下printf("");在这里是干嘛用的吗?谢谢

追答

只是样例而已,就是基本的输出,没什么,只是给你看看输入那部分而已,你看我头文件都没加

追问

就是说我一次性输入8个数字 中间用空格隔开 系统会默认我这是8个数字而不是一个吗? 不会把空格也算到一个字符里进去?

追答

不会,因为我定义的是整型数据类型的数组,编译器会识别的,但如果定义一个字符类型的数组,这样就会错

追问

哦 谢谢 那如果我要输入的是字母呢 该怎么一次性输入8个呢 中间用空格分开

追答

例如吧,如果你要输入8个数字,而已是空格的话,数字就必须是一位,char m[20];
定义一个这样的,此时就不能用scanf 要用gets(m);读取,不过你要考虑到空格也在里面,所以你要看你的数字存放到那个位置了,如果要用字符数组存放一个不是一位数的数字是不可能的,因为字符数组是存字符,有不懂就问吧

追问

能告诉我你的QQ什么的吗 我好问你 百度追问我没那么多分 谢谢了

追答

也是一样的啊,gets(ch);空格也存在里面

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答