c - 用于打印正方形的 C 命令行参数
问题描述
这段代码应该打印出一个像这样的正方形,它们之间没有空行。我正在尝试使用命令行参数来确定正方形的大小。似乎只是没有读取命令行参数,只是从 1 开始计数,直到我按下 CTRL-C 来停止它。
012345
123456
234567
345678
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int row;
int colm;
// Check for a command line argument.
if(argc < 2){
printf("usage: box size");
}
else{
int n = atoi(argv[1]);
for (row = 0; row <= n; row++){
n = row;
for (colm = 0; colm <= n; colm++){
printf("%d ",n);
n++;
}
printf("\n");
}
}
return 0;
}
解决方案
n++;
在循环中执行for (colm = 0; colm <= n; colm++){
会使达到上限逃逸,并且循环将继续直到发生溢出。
你应该做的是打印row
和colm
不改变的总和n
。
for (row = 0; row <= n; row++){
for (colm = 0; colm <= n; colm++){
printf("%d ",row + colm);
}
printf("\n");
}
推荐阅读
- list - 为什么可以在准引用列表末尾的非列表上使用取消引用拼接?
- python - 我们是否使用自己的数据正确更新了现有的 gemsim 模型?
- java - 为什么在右子数组的情况下必须做 (k-pivot+left-1) 同时在数组中找到第 k 个最小元素?
- pdf - 以编程方式重命名 ocrmyfile 中的文件
- linux - 从 Instant Client 在 RHEL7 上安装 Oracle SQL*Loader SQLLDR
- c++ - 如何使用 Mingw-w64 和 Intel MKL 编译 MATLAB MEX 文件
- python - 安装 pipenv 后没有这样的文件或目录
- python - valueerror: 时间数据与 pandas 的数据框不匹配
- java - 创建一个测试器类
- python - 使用具有不同分位数的 medianBlur