gpt4 book ai didi

c - 数组在c中如何工作?

转载 作者:行者123 更新时间:2023-11-30 21:28:36 24 4
gpt4 key购买 nike

这是一个简单的代码。但我不明白这一点。在此代码中,我想按用户输入十个数字,并报告它们是否匹配。首先输入i[j]中分配的10个数字。但是变量match只能携带1个数字,怎么可能携带10个数字。然后,如果我输入第一个数字 10,则 i[j] 将是第一个 10。如果先输入 10,第三个 for 循环如何运行。因为 10+1=11,即大于 10。

#include<stdio.h>

int main(void)
{
int i[10], j, k, match;

printf("Enter 10 numbers:\n");
for(j=0; j<10; j++) scanf("%d", &i[j]);

for(j=0; j<10; j++){
match = i[j];

for(k=j+1; k<10; k++)
if(match == i[k])
printf("%d is duplicated\n", match);
}

return 0;
}

最佳答案

请注意,第三个 for 循环嵌套在第二个循环内。因此,对于另一个循环体中 j 的每个值(例如 0、1、2),每次都会执行内部循环。

如果您担心在第一个循环之后,j 将是 10,那么不用担心,statement-1在第二个 for 循环(for(j=0;... 部分))中,会将值重新分配给 0,因此第二个循环将以 j 的值 0 开始。

关于c - 数组在c中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40379482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com