用于打印正方形的 C 命令行参数

C command line arguments for printing square

这段代码应该打印出这样一个正方形,它们之间没有空行。我正在尝试使用命令行参数来确定正方形的大小。似乎只是没有读取命令行参数,只是从 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;                                                                      
}   

在循环 for (colm = 0; colm <= n; colm++){ 中执行 n++; 可以避免到达上限,循环将继续直到发生溢出。

你应该做的是在不改变 n.

的情况下打印 rowcolm 的总和
for (row = 0; row <= n; row++){
  for (colm = 0; colm <= n; colm++){
    printf("%d ",row + colm);
  }
  printf("\n");
}