【问题标题】:How to evaluate an expression in a for loop in C programming?如何在 C 编程中评估 for 循环中的表达式?
【发布时间】:2014-09-05 05:28:47
【问题描述】:

我正在尝试打印从 1 到 20 的所有数字的立方体 (n3)。我想知道我的代码是否

printf("Enter an integer value\n");

是必要的。那条线的目的是什么?有人可以解释吗?谢谢。这是我学习 C 的第一天。

#include <stdio.h>
#include <stdlib.h>

/*
 * 
 */
int main(int argc, char** argv) 
{
    int num;
    printf("Enter an integer value\n");
    scanf("%d", &num);
    for ( num=1; num<21; num++){
        printf("The cube of %d is %d\n", num, num*num*num);
    }
    getchar();
}

【问题讨论】:

  • 你用谷歌搜索printf吗?见printf(3)
  • 既然您开始学习 C:在您的编译器中启用所有警告和调试信息(例如,如果使用 GCC...,则使用 gcc -Wall -g 进行编译)和 学习 现在 如何使用调试器(例如gdb)。
  • @BasileStarynkevitch 或者只使用 Visual Studio 并切换到调试
  • 我希望他在Linux上学习的OP。

标签: c for-loop cubic


【解决方案1】:

通过使用printf(),您将在屏幕上打印消息“输入一个整数值”。 通过使用scanf(),您将在屏幕上输入的值转换为num 变量(即初始化num)。但是在forloop 中,您将num 变量重新初始化为“1”到“21”。所以printf()scanf() 只是浪费时间,在这里。

如果你想要一个特定的数字立方体,那么只需执行以下操作,

#include <stdio.h>
#include <stdlib.h>
void main() 
{
     int num;

     printf("Enter an integer value\n");
     scanf("%d", &num);

     printf("The cube of %d is %d\n", num, num*num*num);

     getchar();
}

【讨论】:

    【解决方案2】:

    这是没有意义的

    printf("Enter an integer value\n");
    scanf("%d", &num);
    

    它只是显示消息并从键盘读取值,但在 for 循环中
    当您将 1 分配给变量 num 时,之前的 num 值会覆盖.

    【讨论】:

      【解决方案3】:

      它不适用于您代码中的任何内容。

      你得到了变量num,但你很快就会忽略它for ( num=1 ...

      如果你想要它作为一个有用的,你可以做类似的事情:

      int num, i;
      printf("Enter an integer value\n");
      scanf("%d", &num);
      for ( i=1; i<num; i++){   // print the cube of all numbers less than the entered value
          printf("The cube of %d is %d\n", i, i*i*i);
      }
      getchar();
      

      否则,您可以删除这两行代码:

      printf("Enter an integer value\n");
      scanf("%d", &num);
      

      【讨论】:

        【解决方案4】:

        行 printf("输入一个整数值\n");

        向程序的用户显示“输入一个整数值”字样,

        在您的代码中,旁边的行没有任何意义,在这里您要求用户输入一个整数,然后保存该数字:

         printf("Enter an integer value\n");
         scanf("%d", &num);
        

        因为在下一行中您将参数 num 设置为 1。

        下一个代码扫描用户输入,然后计算立方体:

        int main(int argc, char** argv) 
        {
            int num;
            printf("Enter an integer value\n");
            scanf("%d", &num);
            printf("The cube of %d is %d\n", num, num*num*num);
        }
        

        【讨论】:

          猜你喜欢
          • 2011-12-17
          • 2019-02-04
          • 1970-01-01
          • 2020-04-09
          • 2017-02-08
          • 2023-01-12
          • 1970-01-01
          • 1970-01-01
          • 2017-12-26
          相关资源
          最近更新 更多