C 编程 printf 从一个数组

标签 c arrays pointers

Screenshot of the program

在此程序中,用户以数字形式输入年中的日期和月份。 输出必须是字母。 我无法更改变量。

  1. 我不知道如何在数组中打印月份。我试过 %s, 认为它是一个字符串,但它不起作用。
  2. List item 我不明白如果 monthnames 已经是一个数组,为什么还要使用指针?我以为他们是同一件事,或者等价物? 在此先感谢您的帮助 ! :)

最佳答案

要打印月份名称,只需使用

printf("%s", monthnames[month]);

代替

printf("%c", *monthnames[month]);

后者只打印某个月的第一个字符。

monthnames 是指向 char 的指针数组。因此,您可以使用该数组中的每个元素指向一个 C 字符串 - 正如您的代码中的情况一样。

注意:注意索引,在代码注释中您建议四月是第 4 个月。那么 December 将是第 12 个,但是你的数组只能有最大索引 11。

关于C 编程 printf 从一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34375474/

相关文章:

C - 读取未知长度的字符串说明

c - 矩阵乘法程序

java - 我的输入数组不断地 self 写入

c - 结构指针中的字符串数组

c - 这是释放作为结构一部分的多个动态分配数组的正确方法吗?

c - C 中的指针行为 : Initializing Linked List Head after Node

c++ - 有可能解决这个问题吗?

java - 引用数组构造函数

java - java中多维数组内存分配不足

在函数中更改指针的值