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

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日

悬赏问题

  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan