c语言中%10是什么意思?
main()
{
char *s="ABC";
do
{
printf("%d",*s%10);
s++;
}while(*s);
}
咱实在搞不懂这个运算结果为什么是567呐,来个大佬解释下下哇,这个*s是不是等于656667?,这个*s%10是个啥意思? 展开
%10是取余,例如25%10=5,*s指取内容,s最初指向的是字符A,下次指向B,字符是由ASCII值的。
类似的其他运算符还有:
+=、 -=、 *=、 %=、 &=、 |=、 ^=、 <<=、 >>=其中等号左边的运算符分别是:加、减、乘、取余、按位与、按位或、按位异或、左移、右移。
扩展资料:
运算符号,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带整数,所以几乎所有的编译器都是算术比特右移。
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
参考资料来源:百度百科-c语言
在C语言中/=是复合赋值运算符的一种,是两种运算(除、赋值)的结合,x/=10等同于x=x/10。
先进行左侧表达式除以右侧表达式的除法运算。然后进行把结果赋值给左侧表达式的赋值运算。这种运算符主要是为了简化表达式写法,当某个表达式要进行除法操作并且把除法结果赋值给自己的时候,可以用这种写法。
类似的其他运算符还有:
+=、 -=、 *=、 %=、 &=、 |=、 ^=、 <<=、 >>=其中等号左边的运算符分别是:加、减、乘、取余、按位与、按位或、按位异或、左移、右移。
扩展资料:
运算符号,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带整数,所以几乎所有的编译器都是算术比特右移。
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
参考资料来源:百度百科-C语言
x/=10 首先,x是变量,10是已赋值的变量或者常量;其次,x/=10 等价于 x=x/10 就是先把x原本的值和10的值进行除法运算后 ,在赋值给x。
比如有程序代码 : int x=10;
x/=10 ;
printf(“x=%d“,x);
经过上面的代码后,x的值就变成x=x/10 等于1了。
和这类型相似的形式还有很多比如+=,-=,*=,希望对你有帮助。
/=是复合赋值运算符的一种,是两种运算(除、赋值)的结合,x/=10等同于x=x/10。
实际分为两个步骤进行:
先进行左侧表达式除以右侧表达式的除法运算。
然后进行把除的结果赋值给左侧表达式的赋值运算。
这种运算符主要是为了简化表达式写法,当某个表达式要进行除法操作并且把除法结果赋值给自己的时候,可以用这种写法。
类似的其他运算符还有:
+=、 -=、 *=、 %=、 &=、 |=、 ^=、 <<=、 >>=
其中等号左边的运算符分别是:加、减、乘、取余、按位与、按位或、按位异或、左移、右移。