C 可以在嵌套的for循环中使用双括号吗?
我的问题的意思是,如果我有一个嵌套的for循环C 可以在嵌套的for循环中使用双括号吗?,c,for-loop,nested-loops,C,For Loop,Nested Loops,我的问题的意思是,如果我有一个嵌套的for循环 for(int i = 0; i < 10; i++) { for(int j = 0; j < 10; i++) { printf("%d\n"___); } } for(int i=0;i
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; i++)
{
printf("%d\n"___);
}
}
for(int i=0;i<10;i++)
{
对于(int j=0;j<10;i++)
{
printf(“%d\n”\uuuu);
}
}
我在空白处放什么?如果我已经声明了一个数组,[i][j]会是非法的吗?你的问题真的不清楚。但据我所知,你有一些二维数组,你想打印数组的内容 必须已将数组定义为
int arr[10][10]
,然后才能使用
printf("%d\n", arr[i][j]);
基于你的问题,我不确定你到底在坚持什么,所以我做了一个带注释的C程序 我声明了一个
int
数组,它的第一维度和第二维度至少为10,因为您将I
和j
从0迭代到9(包括9)。这是为了避免迭代时出现越界问题
数组的元素未在程序中初始化。运行此程序时,可能会打印所有零。它还可能打印内存中碰巧存在的其他值(因为数组值未初始化)
上一次我在for循环之外声明了I
和j
,以防这是您面临的问题
#include <stdio.h>
int main(int argc, char** argv) {
// Declare an array
// Note that both dimensions are at least 10
// Also note that none of the values are initialized here
int myArray[10][10];
// Both i and j are declared here rather than in the for loop
// This is to avoid the following potential error:
// error: 'for' loop initial declarations are only allowed in C99 or C11 mode
int i, j;
for (i = 0; i < 10; i++) {
for (j = 0; j < 10; j++) {
// Note that the values this prints are uninitialized
printf("%d\n", myArray[i][j]);
}
}
return 0;
}
#包括
int main(int argc,字符**argv){
//声明数组
//请注意,两个尺寸至少为10
//还要注意,这里没有初始化任何值
int myArray[10][10];
//i和j都在这里声明,而不是在for循环中声明
//这是为了避免以下潜在错误:
//错误:仅在C99或C11模式下允许“for”循环初始声明
int i,j;
对于(i=0;i<10;i++){
对于(j=0;j<10;j++){
//请注意,此打印的值未初始化
printf(“%d\n”,myArray[i][j]);
}
}
返回0;
}
printf(“%d\n”[i][j])
是非法的,这一事实与for循环无关。不,假设数组被声明为int-arrayName[x][y],则这一点没有错代码>其中x和y至少为10@asimes: ... 假设他想写printf(“%d\n”,arrayName[i][j])
,而不是像immibis的评论中那样写printf(“%d\n”[i][j])
。@Amadan,我希望他不打算按照immibis的建议写…@AlanAu实际上,在C中,通常不是这样。更正你的答案。。。你说的是declarearr
,你打印的是a
,也没有comma@asimes更正了。谢谢