c - 二维数组和for循环
问题描述
我做了这段代码来尝试对二维数组(二维数组)的基本操作,但它没有在屏幕上打印字母“A”。有人可以帮我解决这个问题吗?谢谢
#include <stdio.h>
#define ROWS 2
#define COLS 3
int main()
{
int x;
int y;
int i;
int j;
int Field[ROWS][COLS];
printf("Enter two values: ");
scanf("%d %d", &x, &y);
Field[y][x] = 1;
for(i = ROWS - 1; i > 0; i--){
for(j = 0; j < COLS; j++){
if(Field[i][j] == 1){
printf("A");
}
}
}
return 0;
}
解决方案
这:for(i = ROWS - 1; i > 0; i--){
无法遍历必要的数组位置,并且没有清楚地向您的软件的未来维护者传达究竟是什么意图。
但是,要执行您在问题描述中描述的内容,除非有令人信服的理由来设置递减索引--
(++
for(i = 0; i < ROWS; i++)
{
for(j = 0; j < COLS; j++)
{
if(Field[i][j] == 1)
{
printf("A");
}
}
}
推荐阅读
- java - 是否应该将消息驱动 Bean 业务逻辑委托给 EJB 会话 bean
- c# - 如何在我的 C# 项目中使用现有 app.config 文件中的 sql 连接信息
- python - http.server if 语句 os.path.isfile() 不起作用
- javascript - 从 Ajax 下载返回的 PDF
- android - 如何修复错误:生成android构建时重复资源
- asp.net-mvc - 在 .NET Core 2.0 中使用 WCF 服务
- javascript - 无法读取 HTML 和 Javascript 中未定义的属性“索引”
- facebook - 我可以使用新的 Facebook Graph API 根据特定标签从 instagram 获取所有帖子吗?
- debugging - 使用 logback 定义父或超级记录器名称
- elasticsearch - Postman AWS S3 快照请求 Elasticsearch