【问题标题】:How to return/save values with void function in C?如何在 C 中使用 void 函数返回/保存值?
【发布时间】:2013-12-03 17:12:22
【问题描述】:

我想用 void 函数来保存价值。在 C++ 中我有点像这样:

void func(int & a);

void func(int & a)
{
   int value;
   cin >> value;
   a = value;
}

int main()
{
   int x;
   func(x);
   cout << x;
   return 0;
}

这个算法在 C 语言中会是什么样子?

【问题讨论】:

    标签: c function return return-value void


    【解决方案1】:

    你可以使用指针:

    void func(int *a)
    {
       scanf("%d", a);
    }
    
    int main()
    {
       int x;
       func(&x);
       printf("%d", x);
       return 0;
    }
    

    【讨论】:

      【解决方案2】:

      你会使用指针。

      void func(int *a)
      {
         int value;
         if (scanf("%d", &value) == 1)
            *a = value;
          else
            *a = 0; //well, we don't have anything good 
                   //way to signal an error.
      }
      

      【讨论】:

        猜你喜欢
        • 2016-08-28
        • 1970-01-01
        • 2017-07-13
        • 1970-01-01
        • 2014-08-16
        • 1970-01-01
        • 1970-01-01
        • 2021-04-02
        • 2011-03-26
        相关资源
        最近更新 更多