问答详情
源自:4-7 循环结构之do-while循环

为什么写number=number*(1+20%)是错的,而写number=number*1.2就是对的啊?

为什么写number=number*(1+20%)是错的,而写number=number*1.2就是对的啊?

提问者:小小曦 2015-05-26 18:32

个回答

  • Perona
    2015-05-26 18:38:29

    C语言中,%有2种用法

    1. 模运算,即求余数。

      表达式 a % b 计算 a 除 b 得出余数 例: 7 % 3 得 1

    2. 转义符。

      比如scanf()和printf()输入参数常出现带有%表示参数类型变量%d,%f等

    %并不能表示百分比。所以number=number*(1+20%)会报错。

  • 伊兮尘昔
    2015-05-26 18:37:19

    C语言中不认识20%这么写,你只能写0.2