Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么数组扫描比C中指定的多1个元素_C_Arrays - Fatal编程技术网

为什么数组扫描比C中指定的多1个元素

为什么数组扫描比C中指定的多1个元素,c,arrays,C,Arrays,问题:我正在使用for循环扫描和打印两个数组。扫描第一个数组时,它会扫描比指定大小多1个元素,例如。如果数组大小为5,则扫描6个元素,而扫描第二个数组时,它扫描的元素比数组大小少1个。第一个数组的额外扫描元素被打印为第二个数组的第一个元素,我试图在输出的屏幕截图中显示该元素 注意:在Dev Cpp v4.9.9.2中编译并运行 代码: #include<stdio.h> #include<conio.h> int main() { int i,arr1[10],arr2[

问题:我正在使用for循环扫描和打印两个数组。扫描第一个数组时,它会扫描比指定大小多1个元素,例如。如果数组大小为5,则扫描6个元素,而扫描第二个数组时,它扫描的元素比数组大小少1个。
第一个数组的额外扫描元素被打印为第二个数组的第一个元素,我试图在输出的屏幕截图中显示该元素
注意:在Dev Cpp v4.9.9.2中编译并运行

代码:

#include<stdio.h>
#include<conio.h>
int main()
{
int i,arr1[10],arr2[10],num;
printf("no of elements to be enterd in array\t");
scanf("%d",&num);
printf("enter elements for 1st array\n");
for(i=0;i<num;i++)
{
                  scanf("%d\n",&arr1[i]);
}
printf("\nOutput for 1st array\n\n");
for(i=0;i<num;i++)
{
                  printf("%d\t",arr1[i]);
}

printf("\n\nenter elements for 2nd array\n");
for(i=0;i<num;i++)
{
                  scanf("\n%d",&arr2[i]);
}
printf("Output for 2nd array\n\n");
for(i=0;i<num;i++)
{
                  printf("%d\t",arr2[i]);
}
getch();
return 0;
}
#包括
#包括
int main()
{
int i,arr1[10],arr2[10],num;
printf(“要在数组中输入的元素数量\t”);
scanf(“%d”和&num);
printf(“输入第一个数组的元素\n”);
对于(i=0;i
这里,在扫描数组的数字的循环中,不提供\n
在scanf中的%d之后或之前,这将解决问题。请改为尝试此操作

这里,在扫描数组的数字的循环中,不提供\n 在scanf中的%d之后或之前,这将解决问题。请改为尝试此操作

这里,在扫描数组的数字的循环中,不提供\n 在scanf中的%d之后或之前,这将解决问题。请改为尝试此操作

这里,在扫描数组的数字的循环中,不提供\n 在scanf中的%d之后或之前,这将解决问题。请改为尝试此操作


这都是因为您使用scanf的方式。 然后将所有内容更改为以下内容:

scanf(" %d",&arr1[i]);

也就是说:前面有空格,后面没有空格(后面没有空格,没有“\n”没有“\t”没有这些)。

这都是因为您使用scanf的方式。 然后将所有内容更改为以下内容:

scanf(" %d",&arr1[i]);

也就是说:前面有空格,后面没有空格(后面没有空格,没有“\n”没有“\t”没有这些)。

这都是因为您使用scanf的方式。 然后将所有内容更改为以下内容:

scanf(" %d",&arr1[i]);

也就是说:前面有空格,后面没有空格(后面没有空格,没有“\n”没有“\t”没有这些)。

这都是因为您使用scanf的方式。 然后将所有内容更改为以下内容:

scanf(" %d",&arr1[i]);

也就是说:前面有空格,后面没有空格(后面没有空格,后面没有“\n”没有“\t”这些都没有)。

%d”
实际上与
%d”
%d
本身就消耗了领先的空白,就像
一样
@chux同意,不管怎样,前导空格永远不会造成伤害,不像尾随空格;我更倾向于将其显式化。
%d“
实际上与
%d”
%d”
本身会像
一样消耗前导空格
@chux同意,不管怎样,前导空格永远不会造成伤害,不像尾随空格;我更倾向于将其显式化。
%d“
实际上与
%d”
%d”
本身会像
一样消耗前导空格
@chux同意,不管怎样,前导空格永远不会造成伤害,不像尾随空格;我更倾向于将其显式化。
%d“
实际上与
%d”
%d”
本身会像
一样消耗前导空格
@chux同意,不管怎样,前导空格永远不会造成伤害,不像尾随空格;我倾向于将其显式化。任何时候代码在
scanf()上出现问题时,请检查
scanf()的返回值
。即使代码没有问题,好的代码也会检查所有输入函数的返回值。@如果您的问题已解决,Sanjeet会标记答案任何时间代码在
scanf()上出现问题
,请检查
scanf()的返回值
。即使代码没有问题,好的代码也会检查所有输入函数的返回值。@如果您的问题已解决,Sanjeet会标记答案任何时间代码在
scanf()上出现问题
,请检查
scanf()的返回值
。即使代码没有问题,好的代码也会检查所有输入函数的返回值。@如果您的问题已解决,Sanjeet会标记答案任何时间代码在
scanf()上出现问题
,请检查
scanf()的返回值
。即使代码没有问题,好的代码也会检查所有输入函数的返回值。@Sanjeet在问题解决后标记答案