数组输出问题求解
1 #include <stdio.h>
2 int main()
3 {
4 int a,s,d,f,g;
5 int q[]={a,s,d,f,g};
6 printf("please input:\n");
7 scanf("%d,%d,%d,%d,%d\n",&a,&s,&d,&f,&g);
8 printf("%d,%d,%d,%d,%d\n",q[0],q[1],q[2],q[3],q[4]);
9 return 0;
10 }
为什么屏幕输出一些乱七八糟的数,求大神指点!
~ 数组
[解决办法]
4 int a,s,d,f,g;
5 int q[]={a,s,d,f,g};
你这里是用asdfg的值来初始化数组q,而不是用它们的引用来或者指针来初始化这个数组。也就是说,这里初始化之后,即使asdfg变了,数组也不会变。
因为asdfg在定义的时候你没初始化,所以值是乱的。
[解决办法]
int q[]={a,s,d,f,g};
printf("please input:\n");
scanf("%d,%d,%d,%d,%d\n",&a,&s,&d,&f,&g);
写成
printf("please input:\n");
scanf("%d,%d,%d,%d,%d\n",&a,&s,&d,&f,&g);
int q[]={a,s,d,f,g};
[解决办法]
printf("please input:\n");
scanf("%d,%d,%d,%d,%d\n",&a,&s,&d,&f,&g);
int q[]={a,s,d,f,g};
[解决办法]
#include <stdio.h>
int main()
{
int q[5];
printf("please input:\n");
for(int i=0; i<5 ;i++)
{
scanf("%d\n",&q[i]);
}
printf("%d,%d,%d,%d,%d\n",q[0],q[1],q[2],q[3],q[4]);
return 0;
}