不友好的数字C.

时间:2012-05-18 21:40:05

标签: c numbers

你能告诉我下一个代码有什么问题吗?我收到消息: 警告:忽略'scanf'的返回值,使用属性warn_unused_result [-Wunused-result]声明。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    long long int n, k, i, *a, j, w = 0, nije = 1;

        scanf("%lld", &n);

        scanf("%lld", &k); 

    a = malloc(n*sizeof(long long int));

    for (i = 0; i < n; i++)
        scanf("%lld", &a[i]);

    for (j = 2; j <= k; j++) {

        if (k % j == 0)
        {

            nije = 1;
            for (i = 0; i < n; i++) {

                            if (a[i] % j == 0) {

                    nije = 0;
                    break;
                }
            }
            if (nije == 1) 
                        w++;

        }
    }
    a = NULL;
        printf("%lld", w);
    return 0;
}

1 个答案:

答案 0 :(得分:4)

至少您忘记将w初始化为零,因此其值可以等于任意数字,并且b[w]的第一次调用会导致分段错误。