C,在处理输入数据时,经常错在SCANF上。
例子:
main()
{
int a[10]={12,45,67,34,56,89,87,86,12,90};
int i,fa;
printf("input a data to find:");
scanf("%d",fa);
for (i=0;i<10;i++)
if (a[i]==fa)
{
printf("data find in %d",i);
break;
}
if (i==10) printf("data not find");
system("pause");
}
这是一个好简单的例子:作用是输入一个数,然后在一个数组中查找,找到就返回在数组序号,找不到显示找不到。
上面的程序可以正常汇译,但不能正确运行!
找了老半天,也没发现那里有问题,终于发现,问题出在这里:
SCANF()!
它的参数是要在变量前加"&"号的!
这是C语言和其它语言不同的地方,希望大家引以为介。