C语言习题11.3,用指针数组编程输出月份的英文表示
从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在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~12之间,则输出“Illegal month”。
从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1-12之间,则输出"Illegal month". **输入格式要求:"%d& ...
- C语言输入月份,输出月份的英文名
C语言输入月份,输出月份的英文名 #include<stdio.h> int main() {char *month[13] = { "illegal","J ...
- C语言for循环实现遍历指针数组元素
#include <stdio.h> int main() {//1.注意(每个数组名)都是这个数组首个元素的指针,下方[5]表示有5个元素,首个元素的指针就是5个元素中的首个元素的指针i ...
- 习题1-1输入三个整数,输出它们的平均值,保留3位小数
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列 代码 系列 <算法竞赛入门经典>(c语言)习题1-1 代码 #include<stdio.h> ...
- 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 ...
- 利用二维数组编程输出九九乘法表 ← C语言
[九九乘法表] [算法代码] #include <stdio.h> int t[10][10]; int main() { int i,j;for(i=1; i<=9; i++)f ...
- JAVA数组(输出26个英文字母)
关于小趴菜学习代码的第一天 创建一个char类型的26个元素的数组,分别放置'A' - 'Z', 使用for循环访问所有元素并打印出来 public class shuzu{public static ...
- 【c语言】(函数)计算阶乘和数,编程输出所有的三位阶乘和数
题目: 假设有这样一个三位数m,其百位,十位和个位数字分别是a,b,c,如果m = a! + b! + c!,则这个三位数就称为三位阶乘和数(约定0! = 1) 思路分析: 需要用到3个函数,一个fa ...
- 嵌入式C语言基础知识查漏补缺--内存管理函数指针数组
内存管理: 堆和栈的理解和区别 局部变量 静态局部变量 全局变量 静态全局变量 作用域 在定义变量的{}之内有效 在定义变量的{}之内有效 整个工程,所有文件 当前文件 生命周期 程序运行至变量定义处 ...
最新文章
- CSS综合征病例,医药-churg-strauss 综合征 (css) 变应性嗜酸性肉芽肿.ppt
- oracle中导入导出数据备份数据库
- ABAP modify screen:修改屏幕,实现隐藏、禁止输入字段
- Window下VS运行达梦DPI
- 来自web标准margin的嘲笑,你了解我吗?
- 虚拟机vcenter如何增加磁盘_如何在家搭建一套自己的实验平台(10)iSCSI 共享存储...
- background-size 兼容ie8以下浏览器的方法
- Java解决空引用_Java 匠人手法 - 优雅的处理空值
- java的网络功能与编程_Java的网络功能与编程(转载)
- navicat将远程数据库复制到本地数据库方法
- python实现登录功能_python实现用户登录功能模块
- AD维护管理工具详解(一)dcdiag
- Python 对象的绑定方法
- 海信电视老出现android是什么意思,海信电视屏幕上显示“智能电视系统启动中,请稍后”是什么意思?怎样处理?- 一起装修网...
- QT中使用ActiveX
- 简报 | 解决“无感停车”开票难题, 广州试水区块链停车发票
- 【计算机三级网络】考前看一看,必过60分
- 如何从任意页开始设置页码
- 显示器带宽测试软件,三种常见的上行带宽测试方法
- ASP.NET MVC5中局部视图的更新
热门文章
- java购物车的实现并发控制_购物车的实现原理
- mysql 5.7 group replication 之五 [ERROR] Plugin group_replication reported: 'Table tmp_t0 does not hav
- com.ibm.db2.jcc.b.SqlException:Parameter instance is invalid for requested conversion.
- 扔硬币中的思考——隐含变量建模
- Linux 内核 | 网络流量限速方案大 PK
- pandas读取文件参数
- 五个温度带的分界线_五带的分界线??
- 商络转债上市价格预测
- 让人眼花缭乱的视错觉,太酷炫了!
- ElasticSearch---------------------step3,安装Kibana