printf没有工作原因?

时间:2016-03-05 17:02:56

标签: c

没有编译器错误,但我没有看到printf中的语句(循环之后)。循环前的printf都很好。我无法解决这个问题。

   int prime(int n); 


    int main(void)
    {
        int num = 0; 
        bool prime; 
        int n; 
        int count; 
        int sum; 

        printf("Enter the limit:", n); 
        scanf("%d", &n);
        printf("Primes up to %d\n", n); 


        // loop 
        for(int i =2; i <= n; i++)
        {
            prime = true; 
            for(int j =2; j < i; j++)
            {
                if(i%j == 0)
                {
                    prime = false;
                    break; 
                }
            }
            if(prime)
            {
                num += i; 
                printf("%d ", i);

            }
        }
        return num;
        count++;
        sum += count; 
        // sum of primes

        printf("Number of primes: \n", sum);
    }

为什么?

1 个答案:

答案 0 :(得分:5)

因为你之前有return num,这意味着它之前结束了你的功能。如果您将函数的结尾更改为:

,它应该可以工作
count++;
sum += count; 
// sum of primes

printf("Number of primes: \n", sum);
return num;