【问题标题】:Assigning printf() result to a variable [duplicate]将 printf() 结果分配给变量
【发布时间】:2021-03-15 03:30:38
【问题描述】:

当我在没有\n 的情况下运行此代码时,输​​出是hello5,但使用\n 时,输出是hello6,有人可以解释一下吗?

#include <stdio.h>

//Compiler version gcc  6.3.0

int main()
{
  int c;
  c = printf("hello\n");
  printf("%d",c);
  return 0;
}

【问题讨论】:

  • 试试c = printf("hello++");,你会开始注意到一个规律。
  • 是的,当我这样想的时候,它是有道理的。

标签: c printf


【解决方案1】:

printf 函数返回打印的字符总数。

当你打印"hello\n"时,这是6个字符,所以c是6。当你打印"hello"时,这是5个字符,所以c是5。

【讨论】:

  • 所以\n在这种情况下不会被忽略并被视为一个字符。
  • @overkill 正确。所有字符都被计算在内,包括空格。
  • 它不是“被认为是一个字符”,它一个字符。具体来说,换行符。
猜你喜欢
  • 2021-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 2020-12-01
  • 2011-08-27
  • 1970-01-01
相关资源
最近更新 更多