【发布时间】:2021-03-18 16:51:45
【问题描述】:
这段代码应该打印出一个像这样的正方形,它们之间没有空行。我正在尝试使用命令行参数来确定正方形的大小。它似乎只是没有读取命令行参数,只是从 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;
}
【问题讨论】:
-
请将
if(argc < 1)更改为if(argc < 2)。可执行文件名是第一个参数argv[0]。此外,要 printfn行将for (row = 0; row <= n; row++)更改为for (row = 0; row < n; row++)。 -
感谢您的建议...它帮助了我,谢谢
标签: c for-loop if-statement command-line