目录
二维字符型数组
作用:批量处理字符串
1、初始化
数组字符串元素初始化时花括号可以省略。
//完全初始化
char s[3][10] = {{"aaa"},{"bbb"},{"ccc"}};
char s[3][10] = {"aaa","bbb","ccc"};
//部分初始化
char s[3][10] = {"aaa","bbb"}; //未初始化部分赋值为0
//不初始化
char s[3][10]; //随机值
2、输入输出二维字符型数组
#include <stdio.h>
int main(void)
{
char s[3][10] = {"aaa","bbb",ccc"};
int i = 0 ;
for (i = 0; i < 3; ++i)
{
gets(s[i]);
}
for (i = 0; i < 3; ++i)
{
printf("s[%d] = %s\n",i,s[i]);
}
return 0;
}
函数
使用函数解决问题的思路:需要对问题进行分析,从上到下,从复杂到简单,逐步拆解实现的过程,分模块完复杂功能的各部分,通过各模块的调用结合,最终实现整体功能。
1、函数结构
类型标识符 函数名 (形式参数)
{
函数体代码
}
例:
//定义一个有相加功能的函数
int add(int num1,int num2)
{
int sum;
sum = num1 + num2;
return sum;
}
(1)类型标识符:表示函数要结果返回的数据类型,数组类型不能做函数返回结果的类型。
a.如果函数不需要带出什么结果,此时返回结果的类型说明符 一般设计为void
如果类型为void,一般不写return
如果要写,return ;
b.如果 返回结果的类型与类型说明符不一致,
以 类似说明符为准。
最终结果的类型,都会转为类型说明符表示的类型
c.类型说明符,如果不写,默认是 int 类型
(2)函数名 :标识符 ,命名规则符合标识符命名规则。
(3)形式参数:表示定义函数需要用到的数据,与实际参数数据类型一致。
a.每一个形参变量都必须都明确指定类。
b.实参和形参类型匹配、个数相同、顺序一一对应的。
c.函数传参 --- 传递的是实际参数的 数值(值传递)。return 表示从函数中返回,意味着函数 执行结束
d.如果不需要接收实际参数,形参一般设计为void(表示空类型)。
(4)函数体代码: 实现函数具体功能的代码 。
2、定义函数的思路:
(1)先确定函数名
(2)考虑函数需要用到哪些数据
(3)处理数据---- 函数体的具体实现
(4)考虑函数处理后的结果 --- (返回值对应)类型说明符
3、函数调用
(1)函数语句
(2)函数表达式
(3)函数参数
例:
#include <stdio.h>
//定义一个比较大小的函数
int max(int a,int b)
{
int max = 0;
if (a > b)
max = a;
else
max = b;
return max;
}
int main(void)
{
int a,b;
printf("Input two num:");
scanf("%d%d",&a,&b);
printf("max = %d\n",max(a,b));//函数调用
return 0;
}