c++ - printf 的 #%ld!\n 的每个元素是什么意思?

标签 c++ c variables syntax

 void* PrintHello(void *threadid)
 {
      long tid;
      tid =(long)threadid;
      printf("Hello World! It's me, thread #%ld!\n",tid);
      pthread_exit(NULL);
 }

我想知道变量声明的每个元素代表什么,以及是否有一种更简单的方法(更易读/类似)来仅 printf?

#=

%=

ld = 长整型

! = 不是?

\n = 新行

此外,我们的幻灯片上的指针似乎以两种不同的方式编写。

有:

 void* function_name(void* args)

还有:

 void* function_name(void *args)

星号位置的意义是什么?在这个例子中哪一个看起来是正确的?

最佳答案

当打印带有变量的内容时,您需要 % 来声明这是 var 输入的位置。 # 只是一个普通字符。 ld 只是代表您输入的 var 类型。在本例中,为! 也没有任何意义,它只是一个普通字符。另外,当打印 var 时,唯一重要的(在本例中)是 % 和变量类型 ld 之间的内容> 在这种情况下。 \n 只是意味着新行,如您之前所述。

星号位置不会改变任何东西。两者都是正确的。星号的原因只是告诉你它是一个指针

关于c++ - printf 的 #%ld!\n 的每个元素是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43218746/

相关文章:

c - 是否建议将用户从另一个功能路由到主功能?

c - scanf.Warning 中的固定长度数组的格式

C 分段故障函数引用

c - 如何从C字符串中获取第一个字母?

ruby - 在 Ruby 中从数组的一个点到同一数组的另一个点求和

c++ - 传入引用与指针

c++ - Dining philosophers 和 mutex 初始化

c++ - 作为 Windows 服务运行应用程序报告 COM 错误 80040154

c++ - 动态数组,动态构造函数

c - 如何将全局值从 C 传递到 LUA?