《C语言学习笔记:素数判断与函数参数传递详解》

135 阅读1分钟

1.素数(质数)的定义:是指只可以被1和其自身整除的大于1的自然数

//判断素数

#include <stdio.h>
#include <math.h>

int main()
{
    int num = 0;
    printf("请输入:");
    scanf("%d", &num);

    if (num <= 1) //1和小于1的数都不是素数
    {
        printf("该数不是素数\n");
    }
    else if (2 == num) //2是唯一的偶素数
    {
        printf("该数为素数\n");
    }
    else
    {
        int i = 0;
        int sign = 1;
        for (i = 2; i <= sqrt(num); i++)
        {
            if (num % i == 0)
            {
                sign = 0;
                printf("该数不是素数\n");
                break;
            }
        }
        if (1 == sign)
        {
            printf("该数为素数\n");
        }
    }

    return 0;
}

2.在void类型的函数中,return;的作用是不返回任何值,直接结束函数

#include <stdio.h>

void Function(int x)
{
    if ( 1 == x )
    {
        return;//即当x = 1时,该函数会直接结束调用,不会继续执行下面的printf语句
    }
    printf("%d" , x);
}

int main()
{
    int x = 1;
    Function(x);

    return 0;
}

3.传址调用和传值调用的使用场景:传址调用适合用于在函数内部直接修改外部变量的场景,因为形参是实参的临时拷贝,对形参的修改不能影响到实参;而传值调用适合用于在函数内不修改实参的值,只是将实参传给形参。

4.传址调用顾名思义就是实参为一个地址,将这个地址传给形参,形参必须是一个指针变量来接收这个地址,如果要在函数内改变实参的值,就需要对指针变量解引用,来找到指针变量中存放的地址所指向的实参,从而修改实参的值。