M_iilk 2022-11-02 19:53 采纳率: 85.7%
浏览 12
已结题

整型数据+=一条printf语句的含义

整型数据+=一条printf语句的含义

查代码看到的一条


            p += printf("%d", T->freq);

我自己编了一个,没有报错:
这个出来的是
22

int main(){
    int p,q;
    p =1; q=2;
    p += printf("%d",q);
    printf("%d",p);
    return 0;
}

这个出来是
2
3

int main(){
    int p,q;
    p =1; q=2;
    p += printf("%d\n",q);
    printf("%d",p);
    return 0;
}
  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-11-02 20:03
    关注

    printf的返回值:如果函数执行成功,则返回所打印的字符总数,如果函数执行失败,则返回一个负数
    第一个输出了一个2,所以返回值为1,p+=1后p=2
    第二个输出了一个2,一个换行符,所以返回值为2,p+=2后p=3

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 修改了问题 11月2日
  • 创建了问题 11月2日