zoukankan      html  css  js  c++  java
  • 关于二维数组分解为一维数组进行操作

    谭4在讲解数组时举了一个例子,求三个字符串中最大的一个。

    #include<math.h>
    #include <stdio.h>
    #include <string.h>
    void main()
    {
    	char str[3][20];
    	char string[20];
    	int i;
    	for(i=0;i<3;i++)
    		gets(str[i]);
    	if(strcmp(str[0],str[1])>0)
    		strcpy(string,str[0]);
    	else
    		strcpy(string,str[1]);
    	if(strcmp(str[2],string)>0)
    		strcpy(string,str[2]);
    	printf("%s",string);
    	return 0;
    }
    

    在这其中出现将二维数组分解成一维数组的用法,之前没有对这一块进行注意。

    在C语言中由于对二维数组的定义方式,使得二维数组可以看作是一个特殊的一维数组,这个一维数组的各个元素又是一个一维数组,例如a[3][4]可以看作是一个一维数组,它有三个元素a[0],a[1],a[2],而每个元素又是一个包含四个元素的一维数组,这样我们可以a[0],a[1],a[2]可以看作是三个一维数组名(这个将会在指针部分再次对其进行讲解)。基于此,我们可以把str[0],str[1],str[2]当作一维数组进行处理;对这三个一维数组不需另作说明即可使用,必须强调的是,a[0],a[1],a[2]不能当作下标变量使用,它们是数组名,不是一个单纯的下标变量

  • 相关阅读:
    .net 项目中cookie丢失解决办法
    .net core 时间格式转换
    .net core 分布式性能计数器的实现
    Netty实现原理浅析
    DotNetty项目基本了解和介绍
    xml解析
    StackExchange.Redis性能调优
    C#string转换为Datetime
    C# SocketAsyncEventArgs类
    Des 加密cbc模式 padding
  • 原文地址:https://www.cnblogs.com/JSD1207ZX/p/9386268.html
Copyright © 2011-2022 走看看