%r在c语言中是什么意思

来源:这里教程网 时间:2026-02-21 16:47:18 作者:

%r 在 C 语言中是格式化输出的转换说明符

%r 是 C 语言中 printf() 和 scanf() 函数中常用的格式化输出和输入转换说明符。它用于打印或读取一个指针的值。

格式化输出(printf() 函数):

用法: printf("%r", &variable); 效果:打印变量 variable 的地址。

格式化输入(scanf() 函数):

立即学习“C语言免费学习笔记(深入)”;

用法: scanf("%r", &variable); 效果:从输入中读取一个地址并存储在变量 variable 中。

注意:

%r 转换说明符仅适用于指针变量。 打印指针变量时,输出结果会因编译器和平台而异。通常会以十六进制格式打印地址。 读取指针变量时,输入必须是有效的内存地址。否则,读取操作会失败。

示例:

<code class="c">int main() {
    int *ptr = malloc(sizeof(int));
    *ptr = 10;
    printf("Pointer value: %r\n", ptr);  // 输出指针地址
    scanf("%r", &ptr);  // 从输入中读取指针地址
    printf("Dereferenced pointer value: %d\n", *ptr);  // 输出通过指针访问的值
    return 0;
}</code>

相关推荐