C语言基础之字符库与二维数组

注意一下这题,这个选B三个转义字符后遇到\0后strlen直接输出。

Strlen与sizeof不同这题用sizeof结果是10。

这个代码可以完成字符串的复制

这个也可以完成,因为非0为真,最后一个输出\0也就是0的时候判断为假,循环结束,完成复制赋值。

功能strcpy:复制

以下代码

输出会是以上结果,因为ab数组在计算机空间是连在一起的,helloworld把a[10]占满了而且没有’\0’,所以会继续越界输出与之相邻的b。所以该代码还要加一个在循环结束以后加一个a[n+i]=’\0’。

Strcat拼接操作:

字符串大小的比较:

用代码实现:

以上可以直接使用strcmp

strcmp函数是C语言中用来比较两个字符串的函数,其函数原型为:

int strcmp(const char *str1, const char *str2);

strcmp函数会比较参数str1和str2所指向的字符串,并返回一个整数值,根据不同的比较结果有不同的返回值规则:

  1. 如果str1等于str2,则返回值为0。
  2. 如果str1小于str2,则返回值为负数。
  3. 如果str1大于str2,则返回值为正数。

比较规则是按照ASCII码值逐个字符比较的。

二维数组:

本质上都是一维数组

二维数组的使用:

int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};  //全部初始化

 int a[3][4] = {{1,2,3,4},{0},{9,10,11,12}}; //按行初始化

 int a[3][4] = {1,2}; //部分初始化

 int a[3][4] ;//未初始化 默认随机值(垃圾值)

二维数组的赋值:

int a[3][4];

for (i = 0; i < 3; ++i)

{

    for (j = 0;j < 4; ++j)

    {

     //a[i][j] = 表达式; //方式1

     scanf("%d",&a[i][j]);

    }

}

注意:

   1.二维数组中,也可以是可变长数组

     int a[n][n]; //n可以是个变量 ,但是使用时,数组不能初始化

   2.二维数组中,可以省略行数,列数不能省略

    int a[3][4];

    //3可以省略 4不能省略

    int[4] a[]; //本质上省略的还是一维数组的长度

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值