c语言:函数、二维字符数组

                                二维字符数组

1、定义和声明

例如,如果要声明一个3行4列的二维字符数组

char matrix[3][4];

2、初始化

char s[3][10] = {{"hello"},{"world"},{"english"}};
char s[3][10] = {"hello","world","english"};

3.输入输出

gets(s[0]); //s[0] 就是第1行 这个一维字符型数组的数组名 ,读入第一行字符串

3行表示能存放3个字符串,get(s[0])表示输入字符串放到第一行;

puts函数同理,也要得到要输出行的首地址

puts(s[0]);//输出第一行

puts(s[1]);//输出第二行

输出时也可以用%s打印,它的功能也是打印字符串,直到碰到'\0'为止

4.练习

从键盘输入5个字符串,排序,并使用二分法查找一个字符串;

#include<stdio.h>
#include<string.h>
 
int main(void)
{
	char s[5][100];
	char p[100];
	
	int i = 0;
	int j = 0;
	for(i = 0;i < 5;++i)
	{
		gets(s[i]);
	}
 
	for(i = 1;i < 5;++i)
	{
		for(j = 0;j < 5-i;++j)
		{
			if(strcmp(s[j],s[j+1])>0)
			{
				strcpy(p,s[j]);
				strcpy(s[j],s[j+1]);
				strcpy(s[j+1],p);
			}
		}
	}
	printf("输入要查找的字符串:");
	char ss[100];
	gets(ss);
 
	int begin = 0;
	int end = 4;
	int mid;
 
	while(begin <= end)
	{
		mid = (begin + end)/2;
		if(strcmp(s[mid],ss)>0)
		{
			end = mid -1;
		}else if(strcmp(s[mid],ss)<0)
		{
			begin = mid + 1;
		}else
		{
			break;
		}
	}
 
	if(begin <= end)
	{
		printf("找到了\n");
	}else
	{
		printf("没找到\n");
	}
 
	return 0;
}

                                       函数

1.函数的思想

从上到下,逐步求解的过程 (拆);
function //功能  --- 函数

2.函数的定义

类型标识符 函数名 (形式参数)
{
    函数体代码
}
(1)类型标识符 
      数据类型 //表示函数要带出的结果的 类型 
     注意:
          数组类型 不能做 函数返回结果的类型 
     返回结果的类型。
    注意:
     a.如果函数不需要带出什么结果,此时返回结果的类型说明符 一般设计为void 
       如果类型为void,一般不写return 
       如果要写,return ;
     b.如果 返回结果的类型 与 类型说明符不一致,
       以 类似说明符 为准。
       最终结果的类型,都会转为类型说明符表示的类型 
     c.类型说明符,如果不写,默认是 int 类型

            
(2)函数名 
     标识符 ,命名规则符合 标识符命名规则 
(3)形式参数
      表示,该函数需要用到的数据 
      //表明,将来使用时,需要用到的实际参数,该怎么写
     注意:
       a.形参变量,必须都明确指定类型
         不能写成
        int a,b 
       b.实参 和 形参对应关系 
         类型匹配
         个数相同 
         顺序一一对应的           
       c.函数传参  --- 传递的是 实际参数的 数值 
        //值传递 
       d.如果不需要接收实际参数,形参一般设计为void //表示空类型
 
              
(4)函数体代码
      这是 实现函数具体功能的那部分代码 

3.函数定义的位置

1.main函数之前
2.main函数之后 
  main之后,需要在使用(函数调用)前,作函数声明 
  函数头+分号 就是函数声明   

4.定义一个函数的思路:

例如:实现两个数求和 
1.先确定函数名  
  add

  //输入数据 ---处理数据 ---输出 

2.考虑函数需要用到哪些数据 ---- 形参 
  处理两个整数 
  形参的写法:
  数据类型 形参变量名1,数据类型 形参变量名2 ... 
  int num1,int num2
3.处理数据---- 函数体的具体实现 
  求和 
  sum = num1 + num2;
4.考虑需不要带出结果 --- (返回值对应)类型说明符
  return 语句:
  return (表达式);
        //return 表示从函数中返回,意味着函数执行结束 
  即:return sum; 

实际代码

#include<stdio.h>
int add(int num1,int num2)
{
	int sum;
	sum = num1 + num2;
	return sum;
}
 
int main(void)
{
	int a,b;
	scanf("%d%d",&a,&b);
	int ret;
	ret = add(a,b);
	printf("ret = %d\n",ret);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值