c语言,关于指针

Python018

c语言,关于指针,第1张

没区别,如果两个指针中间只有一个*就是两个指针(指针是地址是整数)相乘;指针内容*p是有类型的,编译器会对指针内容进行检查,如果类型匹配乘法运算(或*重载运算),就可以通过编译和运算。kp和pm是指针*kp 和 *pm是指针内容(k和m),*kp * *pm实质就是两个指针内容进行相乘(k*m)。

取模运算:a % p(或a mod p),表示a除以p的余数。

比如给定一个正整数p,任意一个整数n,一定存在等式 :n = kp + r ;其中 k、r 是整数,且 0 ≤ r <p,则称 k 为 n 除以 p 的商,r 为 n 除以 p 的余数。

取模运算的规则如下:

1、(a + b) % p = (a % p + b % p) % p 。

2、(a - b) % p = (a % p - b % p) % p 。

3、(a * b) % p = (a % p * b % p) % p 。

4、a ^ b % p = ((a % p)^b) % p 。

扩展资料:

取模运算在c语言中的应用范围:

1、判别奇偶数

奇偶数的判别是模运算最基本的应用,也非常简单。已知一个整数n对2取模,如果余数为0,则表示n为偶数,否则n为奇数。

2、判别素数

一个数,如果只有1和它本身两个因数,这样的数叫做质数(或素数)。例如 2,3,5,7 是质数,而 4,6,8,9 则不是,后者称为合成数或合数。用不比该自然数的平方根大的正整数去除这个自然数,若该自然数能被整除,则说明其非素数。

3、求最大公约数

求最大公约数最常见的方法是欧几里德算法(又称辗转相除法),其计算原理依赖于定理:gcd(a,b) = gcd(b,a mod b)。

参考资料来源:百度百科:取模运算