c语言顺序查找

#include<stdio.h>
void main (void)
{
int i,a[10],key;
printf("输入十个数");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("what a u looking for");
scanf("%d",&key);
i=0;
while (key!=a[i] && i<10)
{
i++;
}
if(key==a[i])
printf("%d in %d",key,i);
else
printf("not found");
}

在这个程序中,输入的10个数字,怎么看是以空格 隔开的?如果想用逗号隔开呢?既然上面是空格隔开的,下面倒数第三行printf("%d in %d",key,i);key和i用空格隔开不用逗号行吗?或者说空格会更好嘛?

在这个程序中,输入的10个数字,是以空格 隔开的。如果想用逗号隔开,会比较麻烦。
既然上面是空格隔开的,下面倒数第三行printf("%d in %d",key,i);key和i用空格隔开不用逗号是不行的。这是程序语句规定的,各输出项之间必须要用逗号分隔。这个与上面所说的运行时输入各数据用什么分隔(它是可以指定的)是两码事。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-17
printf()函数中引号内容是原样输出的,%d取得是后面对应变量的值。后面变量一定要用逗号隔开。
如:
int a = 3,b = 4;
printf("%d %d",a,b);
输出结果为:3 4
int a = 3,b=4;
printf("%d,%d",a,b);
输出结果为:3,4追问

那在运行的时候,系统叫输入10个数字,要怎么知道我是应该以逗号隔开还是以空格隔开?

追答

一般有提示,没有提示一般是以空格隔开;
如输入函数是:scanf("%d%d",&a,&b);
可以以空格,回车,TAB键三个键的任何一个;
但如果是scanf("%d,%d",&a,&b);
就一定到用逗号隔开,因为引号里的是逗号,要和引号内的保持一致.这种输入情况很少,除非是你自己写的.

本回答被提问者采纳
相似回答