c语言中%10是什么意思?

#include<stdio.h>
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语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-30
%10是取余,例如25%10=5,*s指取内容,s最初指向的是字符A,下次指向B,字符是由ASCII值的本回答被提问者和网友采纳
第2个回答  2019-10-16

在C语言中/=是复合赋值运算符的一种,是两种运算(除、赋值)的结合,x/=10等同于x=x/10。

先进行左侧表达式除以右侧表达式的除法运算。然后进行把结果赋值给左侧表达式的赋值运算。这种运算符主要是为了简化表达式写法,当某个表达式要进行除法操作并且把除法结果赋值给自己的时候,可以用这种写法。

类似的其他运算符还有:

+=、 -=、 *=、 %=、 &=、 |=、 ^=、 <<=、 >>=其中等号左边的运算符分别是:加、减、乘、取余、按位与、按位或、按位异或、左移、右移。

扩展资料:

运算符号,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带整数,所以几乎所有的编译器都是算术比特右移。

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

参考资料来源:百度百科-C语言

第3个回答  2015-07-01
这个算是 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了。
和这类型相似的形式还有很多比如+=,-=,*=,希望对你有帮助。
第4个回答  2015-07-01

/=是复合赋值运算符的一种,是两种运算(除、赋值)的结合,x/=10等同于x=x/10。

实际分为两个步骤进行:

    先进行左侧表达式除以右侧表达式的除法运算。

    然后进行把除的结果赋值给左侧表达式的赋值运算。

这种运算符主要是为了简化表达式写法,当某个表达式要进行除法操作并且把除法结果赋值给自己的时候,可以用这种写法。


类似的其他运算符还有:

+=、 -=、 *=、 %=、 &=、 |=、 ^=、 <<=、 >>=

其中等号左边的运算符分别是:加、减、乘、取余、按位与、按位或、按位异或、左移、右移。

相似回答