c语言中的%符号是什么意思?

如题所述

%是求模的意思,两边必须是整数类型的,求模常用符号为mod,就是小学学的求余运算符。 

例如50%23=4,因为余数为4,所以在程序中必须保证两边为整数才是这个意思。

类似的还有 +=,-=,*=,/= 等。但是a%=b这种运算的效率,要高于a=a%b这种的效率,因为a%=b是直接在a上做求余运算,a=a%b则是先用一个临时变量的来记录好a的值,在进行运算,之后将运算结果再赋值给a,a=a%b要比直接a%=b多了两次赋值运算,因而后者的效率更高。

例如:

a + b, c = b, c++

逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++ 的值(c 自增之前的值)即为该表达式的值。

逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c 得到 b 的值后,才进行自增运算。

以上内容参考:百度百科-C语言运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-18
%是求模的意思,两边必须是整数类型的,求模常用符号为mod,就是小学学的求余运算符。

例如50%23=4,因为余数为4,所以在程序中必须保证两边为整数才是这个意思。

类似的还有 +=,-=,*=,/= 等。但是a%=b这种运算的效率,要高于a=a%b这种的效率,因为a%=b是直接在a上做求余运算,a=a%b则是先用一个临时变量的来记录好a的值,在进行运算,之后将运算结果再赋值给a,a=a%b要比直接a%=b多了两次赋值运算,因而后者的效率更高。

例如:

a + b, c = b, c++

逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++ 的值(c 自增之前的值)即为该表达式的值。

逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c 得到 b 的值后,才进行自增运算。

以上内容参考:百度百科-C语言运算符
相似回答