# C 程序：使用函数显示区间内的质数

> 原文： [https://www.programiz.com/c-programming/examples/prime-interval-function](https://www.programiz.com/c-programming/examples/prime-interval-function)

#### 在此示例中，您将学习如何打印两个数字之间的所有质数（由用户输入）。

要理解此示例，您应该了解以下 [C 编程](/c-programming "C tutorial")主题：

*   [C `for`循环](/c-programming/c-for-loop)
*   [C `break`和`continue`](/c-programming/c-break-continue-statement)
*   [C 函数](/c-programming/c-functions)
*   [C 用户定义的函数](/c-programming/c-user-defined-functions)

* * *

为了找到两个整数之间的所有质数，创建了`checkPrimeNumber()`。 此功能[检查数字是否为质数](https://www.programiz.com/c-programming/examples/prime-number)。

* * *

## 两个整数之间的质数

```c
#include <stdio.h>
int checkPrimeNumber(int n);
int main() {
    int n1, n2, i, flag;
    printf("Enter two positive integers: ");
    scanf("%d %d", &n1, &n2);
    printf("Prime numbers between %d and %d are: ", n1, n2);
    for (i = n1 + 1; i < n2; ++i) {

        // flag will be equal to 1 if i is prime
        flag = checkPrimeNumber(i);

        if (flag == 1)
            printf("%d ", i);
    }
    return 0;
}

// user-defined function to check prime number
int checkPrimeNumber(int n) {
    int j, flag = 1;
    for (j = 2; j <= n / 2; ++j) {
        if (n % j == 0) {
            flag = 0;
            break;
        }
    }
    return flag;
} 
```

**输出**

```c
Enter two positive integers: 12
30
Prime numbers between 12 and 30 are: 13 17 19 23 29 
```

如果用户首先输入较大的数字，则该程序将无法正常工作。 要解决此问题，您需要先交换数字。