一个极简单的C问题-_-

来源:百度知道 编辑:UC知道 时间:2024/06/17 10:54:38
#include "stdio.h"
main( )
{
long ge,shi,qian,wan,x;
scanf("%ld",&x);
wan=x/10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if(ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/
printf("this number is a huiwen\n");
else
printf("this number is not a huiwen\n");
}

这是一个求一个数是否为回文数的程序,为什么"shi=x%100/10"中,x%100/10能表示十位上的数啊??这个x%100是什么意思???

%与/运算符优先级相同,%为取余数,x%100 得到的必定是个小与100的数,而且这个数是X的十位数和个位数的值,
如:
5%100=5
15%100=15
115%100=15
然后再除以10就可以得到X的十位数的值了

我是个新手 我也不知道对不对

请楼下的指教

首先/是除 ——带余数的 %是整除 就一个整数

而shi=x%100/10

是先 用 100除以10 得 10 然后再用X整除 10 这样求出来的一个整数 就是 10位了

晕 我也忘了 /到底是分数线还是 除号。。讷

抱歉了楼主~~

例:
123%100=23,这个是除后取余,然后23/10,因为都是整数所以结果为2,就取到了10位上的数了.

我同意楼上的。如果你自己拿支笔算算就出来了。我劝你把运算符记清楚啊 !!

“%”就是整除后取余数

%是取余数,例如15%4 结果是3