关于在c语言中不使用for循环打印数组中的单个字符

about printing a single character in an array without using for loop in c language

当我使用这个简单的代码时,在 C 编译器中收到空白屏幕输出

我需要的是在数组中打印一个指定的字符(没有任何类型循环)

#include <stdio.h>
int main(void)
{
  int str[10] = {'h','e','l','l','o'};


  printf("\n%s", str[1]); //hoping to print e
  
  return 0;
}

非常感谢分享一篇文章或相关内容

根据documentation for the function printf%s 格式说明符用于打印字符串。如果要打印单个字符,则应改用 %c 格式说明符:

#include <stdio.h>

int main(void)
{
    int str[10] = {'h','e','l','l','o'};

    printf( "%c\n", str[1] ); //hoping to print e
  
    return 0;
}

这个程序有以下输出:

e

同样值得一提的是,在处理表示字符的整数时,通常使用数据类型char而不是int

char str[10] = {'h','e','l','l','o'};

由于我们现在使用 char 而不是 int,我们还可以从字符串文字初始化数组,这更易于输入:

char str[10] = "hello";

两个声明都定义了一个包含 10 个 char 个元素的数组,最后 5 个元素初始化为 0,即空字符。