注册 登录
编程论坛 C语言论坛

输入2315得到的sum是0 哪里出错了 谢谢大佬

r2271135271 发布于 2020-03-27 14:13, 1745 次点击
#include<stdio.h>

int foo(int num)
{
    int sum;
    sum=num%10+num/10%10+num/100%10+num/1000;
    return 0;
}

int main(void)
{
    int a;
    printf("请输入一个四位整数:");
    scanf("%d",&a);
    printf("sum=%d\n",foo(a));

    return 0;
}
9 回复
#2
tcxk2020-03-27 14:16
num没有变化
#3
return_02020-03-27 14:18
如果是求位数和的话,每一步都要/=10
#4
纯蓝之刃2020-03-27 14:18
程序代码:
int foo(int num)
{
    int sum;
    sum=num%10+num/10%10+num/100%10+num/1000;
    return 0;
}

改成return sum;
#5
return_02020-03-27 14:19
回复 楼主 r2271135271
意思就是把最前面那一位去掉,后面计算才有效
#6
return_02020-03-27 14:21
以下是引用纯蓝之刃在2020-3-27 14:18:52的发言:

int foo(int num)
{
    int sum;
    sum=num%10+num/10%10+num/100%10+num/1000;
    return 0;
}
改成return sum;

嗯,否则永远输出的是0,毕竟返回的是0
#7
叶纤2020-03-27 14:49
程序代码:


#include<stdio.h>

int foo(int num)
{
    int sum;
    sum=num%10+num/10%10+num/100%10+num/1000;
    printf("sum=%d\n",sum);

    return 0;
}

int main(void)
{
    int a;
    printf("请输入一个四位整数:");
    scanf("%d",&a);
    foo(a);

    return 0;
}


#8
叶纤2020-03-27 14:50
以下是引用return_0在2020-3-27 14:21:31的发言:


嗯,否则永远输出的是0,毕竟返回的是0

谢谢大佬的点拨
#9
r22711352712020-03-27 15:11
回复 4楼 纯蓝之刃
谢谢 明白了
#10
hbccc2020-03-27 18:10
你函数return 0呀,返回永远是0
1