查找具有C语言功能的数字

问题描述 投票:-2回答:1

我的任务是找到多少个3位数字,其2位数字(10-90)小于3位数字(100-900)。我尝试使用一个函数来执行此操作,结果得到8(这显然是不正确的。)对我可能会出错的任何帮助吗?

#include<stdio.h>

int function(int x, int i)
    {
        int digb, digc;
        for(x=100;x<=999;x++)
            {
                digb=(x%100)/10;
                digc=x/100;
             if(digb<digc)
                i=i+1;
                }
                return i;
    }

int main()
    {
    int x, i;
    function(x,i);
    printf("There are %d numbers",i);
    }
c digits
1个回答
0
投票

您的函数function()(应该有一个更好的名字...)正在将两个值用作参数,并正在返回一个值。返回值时,必须通过将function(x,i)行替换为i = function(x,i)来检索它,这会将函数的返回值放入i变量中。您也可以将i作为函数的指针传递,这将使您不必更改行。该行应为function(x, &i),原型应为void function(int x, int *i),并且每个i应替换为*i

© www.soinside.com 2019 - 2024. All rights reserved.