#include<stdio.h>int main(){ int i,n,x,a[10],*res; printf("Input n:\n"); scanf("%d",&n); printf("Input %d numbers:\n",n); for(i=0;i<n;i++) scanf("%d",&a[i]); res=a; printf("Input x:\n"); scanf("%d",&x); for(i=0;i<n;i++) if(*res!=x) res++; else { printf("%d是a数组中第%d个元素\n",x,i); break; } if(i>=n) printf("a数组中没有找到%d\n",x);}内容是输n个数存入数组,然后输入一个数,在数组中找,若找到就输出下标和这个数,若找不到则输a数组中没有找到这个数程序运行时输入时无法输入x的值,这是为什么?
#include<stdio.h>
int main() { int i,n,x,a[10],*res;
printf("Input n:\n"); scanf("%d",&n);
printf("Input %d numbers:\n",n); for(i=0;i<n;i++) scanf("%d",&a[i]);
res=a; printf("Input x:\n"); scanf("%d",&x);
for(i=0;i<n;i++) if(*res!=x) res++; else { printf("%d是a数组中第%d个元素\n",x,i); break; }
if(i>=n) printf("a数组中没有找到%d\n",x);
}
你的程序中并未指定输入数组数据时用逗号分隔,请在运行时用默认的空格分隔输入的数据即可
#include<stdio.h>
int main()
{ int i,n,x,a[10],*res=a; //有修改
printf("Input n:\n");
scanf("%d",&n);
printf("Input %d numbers:\n",n);
for(i=0; i<n; i++)
scanf("%d",&a[i]); //输入数据时不要用逗号
res=a;
printf("Input x:\n");
scanf("%d",&x);
for(i=0; i<n; i++)
if(*res!=x) res++;
else
{ printf("%d是a数组中第%d个元素\n",x,i);
break;
}
if(i>=n)
printf("a数组中没有找到%d\n",x);
}