灭·世 发表于 2017-5-3 04:14:04

请教这个求余的问题,谢谢

#include <stdio.h>
int main()
{
              char jjk="10";
                  int zhi=*jjk%2;       
          printf("%s\n",jjk);       
          printf("%d\n",zhi);
        }
问题,为何jjk="10";所求的余数是1,1-9都测试过,不会出错为何字符串10就出错。

木耳一道 发表于 2017-5-3 04:14:05

*jjk的值是49,不是10哦。*jjk取的是‘1’这个字符,ASCII值是49,所以余数是1。你之前0到9是对的,是因为0到9字符对应的ASCII是48-57,误打误撞了。最后,其实加个打印答案就出来了printf("%d\n",*jjk);。

灭·世 发表于 2017-5-3 12:27:06

木耳一道 发表于 2017-5-3 04:14
*jjk的值是49,不是10哦。*jjk取的是‘1’这个字符,ASCII值是49,所以余数是1。你之前0到9是对的,是因为0 ...

直接明了,大神。谢谢
页: [1]
查看完整版本: 请教这个求余的问题,谢谢