关于函数传参的玄学顺序问题
  • 板块学术版
  • 楼主Smiog
  • 当前回复21
  • 已保存回复23
  • 发布时间2023/11/13 15:29
  • 上次更新2023/11/13 18:17:11
查看原帖
关于函数传参的玄学顺序问题
399493
Smiog楼主2023/11/13 15:29

read()read() 是快读板子,f(a,b,c)f(a,b,c) 会顺序输出 a,b,ca,b,c 。

执行 f(read(), read(), read()); 会将输入数据逆序传参,比如:

  • 输入 1 2 3
  • 输出 3 2 1

而如果执行 a=read(),b=read(),c=read();f(a,b,c); 就会正常传参:

  • 输入 1 2 3
  • 输出 1 2 3

甚至 printf("%d %d", read(), read()); 的执行结果由于是直接拿 read()read() 的返回值传参,也会颠倒顺序:

  • 输入 1 2
  • 输出 2 1

这是 c++ 函数传参特性吗?求解释这些现象。

2023/11/13 15:29
加载中...