c - %s 格式用于查找字符串的地址

标签 c printf

#include<stdio.h>
void main()
{
     char a[]="get organized learn c!";
     printf("%s",&a[2]);
}

我得到了输出:

t organized learn c!

它应该给出错误,因为我使用了 & for %s

最佳答案

不,您的代码运行正常。

  • achar 类型的数组。它与 char *
  • 兼容
  • a[2] 是单个 char
  • &a[2] 是一个 char * ,它指向数组中的第三个字符。它等同于 a + 2

关于c - %s 格式用于查找字符串的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45142443/

相关文章:

python - Python 中的逐字终端打印速度慢?

java - 如何以右对齐方式打印数字?

perl - 为什么 sprintf 以不同的方式舍入 5.555 和 0.555 的小数部分?

c - 输入0000时如何求出整数的位数? (输出必须是 4 而不是 1)

C编程元素数组到sprintf()

c - 为什么 printf ("%d", ~a);当 a 等于 3 时显示 -4?

c - 一个非常简单的程序在两个方面都失败了

std::find 的 C 等效项

c - 从 .txt 文件读取到 C 中的数组

c++ - 我们可以有多少级别的指针?