输出中间的数字
/*n表示即将输入的数据个数,希望输出中间的那个数,为什么编译后运行的结果没有输出?*/#include<stdio.h>
int main()
{
int n,c,p=n;
int i=0,array;
scanf("%d",&n);
while(n--)
{
scanf("%d",&array);
}
c=array[(p-1)/2];
printf("%d\n",c);
return 0;
} #include <stdio.h>
int main()
{
int n, c, p;
int i = 0, array;
scanf("%d", &n);
p = n;
while (n--)
{
scanf("%d", &array);
}
c = array[(p - 1) / 2];
printf("%d\n", c);
return 0;
} #include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int arr;
for(int i = 0; i < n; i++) scanf("%d", &arr);
printf("%d", arr[(n-1)/2]);
return 0;
} 因为你这个代码中变量p=0
你在开头就给p赋值了
开头n自动初始化为0,所以n=0,你又写p=n,所以p=0
后面你用 scanf("%d",&n); 改变了n的值,但是你没有写 p=n 所以p仍然等于0
所以你最后运行的结果才没有输入
正确的输入你参考前两楼的代码就好了 int *p = &n
页:
[1]