一、知识点
字符串数组 本质上 是二维字符数组
字符串数组元素访问:
1、访问某个字符串:数组名 [ 第一维下表 ]
2、访问某个字符:数组名 [ 第一维下标 ] [ 第二维下标 ]
例:随机输入四个人名,并对这四个人名按降序排序。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
char name[4][20] = {0};
int length = 0;
printf("请输入人名:\n");
// getchar();
for(int i = 0; i < 4; i++)
{
scanf("%s", name[i]);
printf("%s\n", name[i]);
// getchar();
length = length < (int)strlen(name[i]) ? (int)strlen(name[i]) : length;
}
printf( "最长字符串长度为:%d\n", length );
printf( "降序排序:\n" );
for(int i = 0; i < 4 - 1; i++)
{
for(int j = 0; j < 4 - 1 - i; j++)
{
int result = strcmp( name[j], name[j + 1]);
if(result > 0)
{
char tempStr[255] = {0};
strcpy( tempStr, name[j]);
strcpy( name[j], name[j + 1]);
strcpy( name[j + 1], tempStr);
}
}
}
for(int i = 0; i < 4; i++)
printf("%s\n", name[i]);
return 0;
}
二、注意事项:
1、字符串数组实为字符型 二维数组;
2、每个字符串长度 不可超过 第二维长度 -1;
3、每个字符串用数组名加一维下标 表示;
4、例如 a[0] //代表第一个字符串。