在我意识里面是这样想的:
每输入一个数后回车电脑会识别这个数为一个数组元素,然后输入第二个数后回车这个数为第二个数组元素.
但我看网上的教程里面都没有输入回车后为一个数组元素结束的语句.
难道这是默认的吗?
下面一个例子:
1.输入10个整数存入数组中,然后把它们从小到大排列并放在同一数组中。(思路:先找出最小的,放在第一个位置,为了防止把原先的数覆盖掉,可以把原先的第一个数和最小数的位置互换)。
main()
{
int array[10];
int i,j,min,stmp;
for(i=0;i<10;i++) scanf(%d,&array[i]);
for(i=0;i<9;i++)
{
min=array[i];
for(j=i+1;j<10;j++)
if(min>array[j]) /*里面的4行语句很重要*/
{
min=array[j];
stmp=array[i];
array[i]=array[j];
array[j]=stmp;
}
}
for(i=0;i<10;i++) printf(%d ,array[i]);
printf(\n);
}
在这里面我只看到输入一个数组的语句,没有见到输入完一个数组元素后的结束语句.心里咯哒得要死.
回车或空格表系统默认为终止输入,for(i=0;i<10;i++) scanf(%d,&array[i]); scanf已是for语句的循环体,当i=0时,你输入一个数组元素10,回车,系统就默认赋值给array[0],然后再循环等待用房输入下一个数组元素值,直到i=10时,退出循环,进入下一个语句for(i=0;i<9;i++)回车是默认的,不要你人工控制。
在格式输入过程中(即用scanf函数),系统默认的数据分隔符是回车和空格 所以在输入过程中,scanf(“%d%d”,&x,&y);对于 3 4【回车】 和 3 4 的输入效果是一样的。 getch是获取字符的函数,程序控制过程要求,在用户输入回车'
' 时输入结束。 '\0' 是字符串结束符,getch是按单字符获取输入内容,所以字符串结束符必须在程序中人为添加。如果使用"%s" 格式输入的方法输入字符串,系统就能够自动的为读入的字符系列添加一个字符串结束符。如果数组中的字符系列没有结束符,这个字符系列就不能正确作为字符串处理和使用。一楼回答的对,int型是数字型,而空格不是所以空格也可以隔开,而char型是字符空格也算是字符,所以必须是回车才可以。