小编Kai*_*ity的帖子

如何读取数字作为命令参数?

如何在程序运行之前将程序读取任何两个整数输入?我希望输出看起来像这样,x和y是输入的任何变量(我正在使用Cygwin):

$ ./axy

x和y的乘积

x和y的总和

我用过int main(int argc, char *argv[]).我试图分配argv[2]xargv[3]y,但是当我编译程序,它说赋值时将指针整数,未投.这是什么意思,我该如何解决?

c command-line-arguments

12
推荐指数
3
解决办法
8万
查看次数

printf语句错误?(在C中)*更新*

为了澄清目的,我需要程序打印输入a和b的数字,而不是实际的字母a和b.
好的,这是每个yall建议的修订程序:

int main (int argc, char *argv[])  
{
   int a; /*first number input*/  
   int b; /*second number input*/  

   a = atoi(argv[1]); /*assign to a*/  
   b = atoi(argv[2]); /*assign to b*/  

   if (a < b)  
      printf("%s\n", a < b); /* a is less than b*/  
      else {  
         printf("%s\n", a >= b); /* a is greater than or equal to b*/  
      }  

   if (a == b)  
      printf("%s\n", a == b);  /* a is equal to b*/  
      else {  
         printf("%s\n", a != …
Run Code Online (Sandbox Code Playgroud)

c printf if-statement

1
推荐指数
2
解决办法
1620
查看次数

我的作业可以与反控制的重复和参数有关吗?

好的,所以我需要让输出看起来像一个星号菱形,每行增加2个星号,直到中间有9个星号......然后行减少.功能主要必须是:

int main (void){  
   int i;    
   i = 0;  
   while (i < 5){  
      printline (4-i, i*2+1);  
      i = i + 1;  
   }  
   i = 3;  
   while (i >= 0) {  
      printline (4-i, i*2+1);  
      i = i - 1;  
   }  
   return 0;  
}  
Run Code Online (Sandbox Code Playgroud)

现在我应该定义函数printline,以便在每次调用时打印图中的一行.它需要2个参数,空格数和应该在线上打印的星号数.使用计数器控制的重复打印适当数量的空格,并再次打印适当数量的星号.

char print_line (int spaces, int stars){  
   for (int i = 4; i>=spaces; i--){  
      printf(" ");  
   }  
   for (int i = 1; i<=stars; i+=2){  
      printf("*");  
   }  
   printf("\n");  
}
Run Code Online (Sandbox Code Playgroud)

哇噢!我就快完成了!输出有点正确,除了不是一个有4个空格和一个星的线,一个有3个空格和3个星的线,依此类推,没有空格和9个星,(然后反转)......我得到一条线有一颗星星,一条有空间和两颗星的线,一条有两个空间的三颗星等等,最多有4个空格五颗星(然后是反转的)......
印刷线不同的原因是因为我写这个有问题有时候,每当我试着写它时,我都会继续使用斜体...

c arguments

1
推荐指数
1
解决办法
564
查看次数

我可以提一下关注格式化的重点吗?

该程序应该计算参数的数量,遍历参数列表,每个参数将参数转换为整数并将其复制到数组,迭代数组的元素,将每个参数的值添加到a变量(这计算元素的总和),并打印总和.不会有超过15个参数.到目前为止,我有:

int sumofA (int sizeofA, int x, int y){  
  int i = sizeofA;  
   if (i <= 15){  
      int z = x + y;  
      return z;  
   }  
}  

int main (int argc, char*argv[]){    
   int sizeofA = argc - 1;  
   int i = 1;  
   while (i <= sizeofA){  
      int x = GetInt (argc, argv, i);  
      i = i + 1;  
      int y = GetInt (argc, argv, i);     
      printf ("%d\n", sumofA (sizeofA, x, y));
   }  
   return 0;  
}  
Run Code Online (Sandbox Code Playgroud)

好吧,现在(当给出除./a之外的三个参数时)它打印第一个参数和第二个参数的总和......然后是第二个和第三个...然后是第三个参数的值.为什么?

这是GetInt的代码(我必须使用它):

int GetInt (int …
Run Code Online (Sandbox Code Playgroud)

c arrays arguments sum

0
推荐指数
1
解决办法
247
查看次数