从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“Illegal month”。

#include<Stdio.h>
#define N 12//月份数
#define MAX 15//字符串最大长度
int main(void)
{int n;char month[N][MAX] = {"January","February","March","April","May","June","July","August","September","October","November","December"};char *pmonth[N];//定义字符指针数组printf("请输入某个月份值:");scanf("%d",&n);if(n>=1 && n<=12){pmonth[n-1] = month[n-1];//让pmonth[n-1]指向二维字符数组name的第i行puts(pmonth[n-1]);//输出第n-1个字符串到pmonth指向的内存}elseprintf("Illegal month");
}

参考输入输出1:输出月份合法

参考输入输出2:输出月份不合法

总结:定义一个字符指针数组*pmonth[N],使其指向数组month的元素,形成一个指针数组,而且用strcpy传参指针数组*pmonth时,必须写*pmonth而不是写pmonth!千万千万千万要先明确pmonth指针数组指向数组的第几行

心得体会区分指针数组和指向数组的指针

指向数组的指针:指向数组的指针是一个指针变量,指针变量中保存的是一个数组的首地址,它会改变原数组的值

指针数组:指针数组是一个数组!只不过是指针作为数组的元素,形成了指针数组(一般是一维数组);由若干基类型相同的指针所构成的数组,称为指针数组;一般定义为*pStr[],必须明确它的指向,改变指针数组*pStr[]并不会改变它指向的数组的值!

指针数组的好处:虽然有时字符指针数组和二维字符数组能解决同样的问题,但涉及多字符串处理操作时,使用字符指针数组比二维字符数组更有效,可加快字符串的排序速度!

C语言习题11.3,用指针数组编程输出月份的英文表示相关推荐

  1. 从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“Illegal month”。

    从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1-12之间,则输出"Illegal month". **输入格式要求:"%d& ...

  2. C语言输入月份,输出月份的英文名

    C语言输入月份,输出月份的英文名 #include<stdio.h> int main() {char *month[13] = { "illegal","J ...

  3. C语言for循环实现遍历指针数组元素

    #include <stdio.h> int main() {//1.注意(每个数组名)都是这个数组首个元素的指针,下方[5]表示有5个元素,首个元素的指针就是5个元素中的首个元素的指针i ...

  4. 习题1-1输入三个整数,输出它们的平均值,保留3位小数

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列 代码 系列 <算法竞赛入门经典>(c语言)习题1-1 代码 #include<stdio.h> ...

  5. C语言----- 4/π=1-1/3+1/5-1/7+...,编程计算π的近似值,直到最后一项的值小于10-4次方为止 //输出π的值,并统计累加的项数

    代码如下: //利用 4/π=1-1/3+1/5-1/7+...,编程计算π的近似值,直到最后一项的值小于10-4次方为止 //输出π的值,并统计累加的项数 #include<stdio.h&g ...

  6. 利用二维数组编程输出九九乘法表 ← C语言

    [九九乘法表]  [算法代码] #include <stdio.h> int t[10][10]; int main() { int i,j;for(i=1; i<=9; i++)f ...

  7. JAVA数组(输出26个英文字母)

    关于小趴菜学习代码的第一天 创建一个char类型的26个元素的数组,分别放置'A' - 'Z', 使用for循环访问所有元素并打印出来 public class shuzu{public static ...

  8. 【c语言】(函数)计算阶乘和数,编程输出所有的三位阶乘和数

    题目: 假设有这样一个三位数m,其百位,十位和个位数字分别是a,b,c,如果m = a! + b! + c!,则这个三位数就称为三位阶乘和数(约定0! = 1) 思路分析: 需要用到3个函数,一个fa ...

  9. 嵌入式C语言基础知识查漏补缺--内存管理函数指针数组

    内存管理: 堆和栈的理解和区别 局部变量 静态局部变量 全局变量 静态全局变量 作用域 在定义变量的{}之内有效 在定义变量的{}之内有效 整个工程,所有文件 当前文件 生命周期 程序运行至变量定义处 ...

最新文章

  1. CSS综合征病例,医药-churg-strauss 综合征 (css) 变应性嗜酸性肉芽肿.ppt
  2. oracle中导入导出数据备份数据库
  3. ABAP modify screen:修改屏幕,实现隐藏、禁止输入字段
  4. Window下VS运行达梦DPI
  5. 来自web标准margin的嘲笑,你了解我吗?
  6. 虚拟机vcenter如何增加磁盘_如何在家搭建一套自己的实验平台(10)iSCSI 共享存储...
  7. background-size 兼容ie8以下浏览器的方法
  8. Java解决空引用_Java 匠人手法 - 优雅的处理空值
  9. java的网络功能与编程_Java的网络功能与编程(转载)
  10. navicat将远程数据库复制到本地数据库方法
  11. python实现登录功能_python实现用户登录功能模块
  12. AD维护管理工具详解(一)dcdiag
  13. Python 对象的绑定方法
  14. 海信电视老出现android是什么意思,海信电视屏幕上显示“智能电视系统启动中,请稍后”是什么意思?怎样处理?- 一起装修网...
  15. QT中使用ActiveX
  16. 简报 | 解决“无感停车”开票难题, 广州试水区块链停车发票
  17. 【计算机三级网络】考前看一看,必过60分
  18. 如何从任意页开始设置页码
  19. 显示器带宽测试软件,三种常见的上行带宽测试方法
  20. ASP.NET MVC5中局部视图的更新

热门文章

  1. java购物车的实现并发控制_购物车的实现原理
  2. mysql 5.7 group replication 之五 [ERROR] Plugin group_replication reported: 'Table tmp_t0 does not hav
  3. com.ibm.db2.jcc.b.SqlException:Parameter instance is invalid for requested conversion.
  4. 扔硬币中的思考——隐含变量建模
  5. Linux 内核 | 网络流量限速方案大 PK
  6. pandas读取文件参数
  7. 五个温度带的分界线_五带的分界线??
  8. 商络转债上市价格预测
  9. 让人眼花缭乱的视错觉,太酷炫了!
  10. ElasticSearch---------------------step3,安装Kibana