这个scanf用法有什么问题?

时间:2016-01-24 20:50:00

标签: c scanf

这是一个五位数字作为输入。我希望这是计算其数字总和的程序,当我在开发编译器中运行程序时它会停止响应,它为每五位数字提供255作为输出。

#include<stdio.h>

void main()
{
    int n, a, b, c, d, e, f;
    printf("entre a no ");
    scanf("%d",n);

    a = n % 10;
    n = n / 10;
    b = n % 10;
    n = n / 10;
    c = n % 10;
    n = n / 10;
    d = n % 10;
    n = n / 10;
    e = n;
    f = (a + b + c + d + e);
    printf("sum of five digit=%d",f);
}

预期输出是五位数的总和。

但它总是停止响应并显示一个对话框,要求我关闭程序。关闭程序后,它总是输出255,无论输入的数字是什么。

1 个答案:

答案 0 :(得分:6)

更改此声明

scanf("%d",n);
           ^^

scanf("%d", &n);
           ^^^^

考虑到根据C标准函数main,没有参数应声明为

int main( void )