【问题标题】:different variables in each for loop in C languageC语言中每个for循环中的不同变量
【发布时间】:2022-01-18 20:59:18
【问题描述】:

我希望我的循环每次从开始时都包含不同的变量。应该是这样的:

int a1, a2, a3;
...
...
for (i = 1; i<=10; i++)
{
a**i**
}

我只想根据 i 更改循环中的变量,每次都增加 1。 这种事情怎么办?

【问题讨论】:

标签: c for-loop variables


【解决方案1】:

您可以将 3 个int 变量放入一个数组中,并在一个循环中遍历该数组的所有元素,每次循环迭代访问该数组的一个元素。在每次循环迭代中,您可以对数组元素做一些事情,例如使用printf 打印它。

这是一个示例程序:

#include <stdio.h>

int main( void )
{
    //declare and initialize 3 "int" variables in an array
    int a[3] = { 10, 11, 12 };

    //go through the entire array in a loop, printing one
    //element per loop iteration
    for ( int i = 0; i < 3; i++ )
    {
        printf( "%d\n", a[i] );
    }

    return 0;
}

这个程序有以下输出:

10
11
12

如果您希望将 3 int 变量保留为单独的实体,那么您可以创建一个指针数组,其中每个指针指向其中一个 int 变量,并在循环:

#include <stdio.h>

int main( void )
{
    //declare and initialize 3 separate "int" variables
    int a1 = 10, a2 = 11, a3 = 12;

    //create and initialize array of pointers to 
    //these "int" variables
    int *pointers[3] = { &a1, &a2, &a3 };

    for ( int i = 0; i < 3; i++ )
    {
        printf( "%d\n", *pointers[i] );
    }

    return 0;
}

这个程序的输出与另一个程序完全相同。

【讨论】:

  • 是否可以将变量放入数组(或其指针)?例如#include &lt;stdio.h&gt; int main( void ) {     int *ptr, *ptr2, b1, b2; ptr = &amp;b1 ptr2 = &amp;b2     int a[3] = { ptr, ptr2};     //go through the entire array in a loop, printing one     //element per loop iteration     for ( int i = 0; i &lt; 3; i++ )     {         printf( "%d\n", a[i] );     }     return 0; }
  • @xantico:我在答案中添加了第二个代码示例,它保留了 3 个单独的 int 变量,并改用指针数组。这就是你要找的吗?
  • 这正是我想要的。非常感谢
猜你喜欢
  • 2020-03-05
  • 1970-01-01
  • 2017-06-08
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 2019-01-02
  • 1970-01-01
  • 2019-08-23
相关资源
最近更新 更多