HPPIY 2022-01-13 10:58 采纳率: 80%
浏览 43
已结题

printf函数可以赋值给int类型变量?

c primer plus 里的一个课后题:

其中有一个语句是这样的
int width = printf(""%s".\n",name);
没看懂为什么printf可以赋值给int类型数据

答案原码:

#include <stdio.h>
int main(void)
{
    char name[40];
    int width;

    printf("Please input your name:");
    scanf("%s",name);

    width = printf("\"%s\".\n",name);          //就是这句。
    width -= 4;        

    printf("\"%20s\".\n",name);
    printf("\"%-20s\".\n",name);
    printf("\"%*s\".\n",(width+3),name);
    return 0;
}

  • 写回答

3条回答 默认 最新

  • qllaoda 2022-01-13 11:01
    关注

    printf返回的是打印的字符的长度。这段代码这样用,应该是为了根据字符串的长度调整布局

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

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 已采纳回答 1月13日
  • 修改了问题 1月13日
  • 创建了问题 1月13日

悬赏问题

  • ¥15 MATLAB代码补全插值
  • ¥15 Typegoose 中如何使用 arrayFilters 筛选并更新深度嵌套的子文档数组信息
  • ¥15 前后端分离的学习疑问?
  • ¥15 stata实证代码答疑
  • ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
  • ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
  • ¥15 在虚拟机中配置flume,无法将slave1节点的文件采集到master节点中
  • ¥15 husky+kinova jaco2 仿真
  • ¥15 zigbee终端设备入网失败
  • ¥15 金融监管系统怎么对7+4机构进行监管的