arrays - 我不明白为什么我的程序中的 while 循环不起作用
问题描述
谁能解释我为什么这个程序不起作用?它应该打印所有数字,但它不这样做。为什么会这样?非常感谢您提供的任何帮助。
#include <stdio.h>
int main(){
int i = 0;
int j = 0;
int doubleCharArray[2][7] = {{1,2,3,4,5,6},{7,8,9,10,11,12}};
while(i < 2){
while(j < 7){
printf("%d ",doubleCharArray[i][j]);
j++;
}
i++;
}
return 0;
}
解决方案
您应该在打印每个数组后将 j 分配给 0。
#include <stdio.h>
int main(){
int i = 0;
int j = 0;
int doubleCharArray[2][7] = {{1,2,3,4,5,6},{7,8,9,10,11,12}};
while(i < 2){
while(j < 6){/* Replaced 7 to 6 */
printf("%d ",doubleCharArray[i][j]);
j++;
}
j = 0;/* Added this, re-assigning j to 0 */
i++;
}
return 0;
}
检查代码中的注释。
推荐阅读
- angular - 如何在 angular6 中获取选定的单选按钮 ID
- amazon-lex - Amazon lex 未对定义的槽值以外的值做出成功响应
- c++ - 相对于使用堆,使用带有 insert() 的向量作为优先级队列的开销是多少?(c++)
- apache-spark - 在读取镶木地板文件时刷新 Dataframe 的元数据
- angular - Angular:ng build --prod 执行时未检测到反应式表单控件
- android - MVVM 中的模型简直就是一个 pojo 类?
- node.js - 请告诉我这两个代码之间的区别
- php - Laravel - 发送邮件时尝试获取非对象的属性“视图”
- google-tag-manager - 我想知道如何从 GTM 结果中删除旧的自定义变量
- java - Spring Boot 中的审计日志