首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C语言入门笔记:运算符及取余%的坑

C语言入门笔记:运算符及取余%的坑

作者头像
鲲志说
发布2025-04-07 10:57:57
发布2025-04-07 10:57:57
2380
举报
大学课程初步学习C语言,这也是接触的第一种编程语言吧,因此对于基础知识有较多的不理解,这个就是在学习C语言运算符时发现的一个问题: 取余运算的结果和我想象的不一样,下面我们通过代码具体看看

代码

代码语言:javascript
复制
#include <stdio.h>

int main() { 
    int x,y;     
    x = 10;    
    y = -3;    
    printf("x+y=%d\n",  x+y   );       
    printf("x-y=%d\n",  x-y   );     
    printf("x*y=%d\n",  x*y   );     
    printf("x/y=%d\n",  x/y   );     
    printf("x%%y=%d\n",  x%y  );     
    return 0;     
}

问题

会发现如下运算会出现错误

代码语言:javascript
复制
printf("x%y=%d\n",x%y)

原因

取余运算中注意:

该运算只适合用两个整数进行取余运算,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。

代码语言:javascript
复制
printf("x%y=%d\n",x%y)
这种不运行的原因:程序将%y看作格式化符号,所以会出现错误。
改正的方法使用%%,其中输出一个%,转义: printf("x%%y=%d\n",x%y);

借鉴该博客:墨溢

代码语言:javascript
复制
转义: printf("x%%y=%d\n",x%y);

如有更多问题,欢迎留言交流!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 代码
  • 问题
  • 原因
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档