求大佬帮我看一下这个C语言代码为什么有问题?

#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);

}

你的程序中并未指定输入数组数据时用逗号分隔,请在运行时用默认的空格分隔输入的数据即可

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-25

#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);

}

第2个回答  2019-11-25
function search(a,b)
{
var numb=Array();
//for (var i in a)
for (var i=0;i< a.length;i++)
{
if (b == a[i])
{
numb.push(i);
}
}
return numb;
}
var b=4;
var n =search([1,2,3,4,4,5,5,5,],b);
if (n.length==0)
{
document.write('查无此人')
}
else{
for(var i=0;i< n.length;i++)
{
document.write(b+'存在,且在数组中的位置为:'+(n[i]+1)+'<br>');
}
}
第3个回答  2019-11-25
输入中间几个数时,直接用空格不要用逗号。或者输入一个回车一次本回答被提问者采纳
第4个回答  2019-11-25

相似回答