关于字符数组要注意的一个小问题

Posted 海~洋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于字符数组要注意的一个小问题相关的知识,希望对你有一定的参考价值。

/*
** 时间 :2016年4月6日22:35:07
** 地点 :宿舍。
** 目的 :测试一下字符数组的一些问题。
** 功能 :打印不同长度的字符串的相关信息。
*/

#include <stdio.h>
#include <string.h>

int main(void)
{
  /* hello world!一共有12个字符(带空格),加上字符串后面的‘\0‘一共是13个字符。
   * 所以为str字符串分配13个字符时,用printf("str = %s\n", str);来打印字符串时是
   * 正常显示的。但如果为str字符数组分配12个字符时,就不正常。
   */
  //char str[13] = "hello world!"; 这种定义方法和下面是等效的。
  char str[13] = {‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘ ‘, ‘w‘, ‘o‘, ‘r‘, ‘l‘, ‘d‘, ‘!‘};

  /* 为str字符数组分配13个字符时,打印结果为:str =hello world!
   * 为str字符数组分配12个字符时,打印结果为:str = hello [email protected](不同环境可能结果不一样)
   */
  printf("str = %s\n", str);

  /* 为str字符数组分配13个字符时,打印结果为:13
   * 为str字符数组分配12个字符时,打印结果为:15
   */
  printf("The length of str is %d\n", strlen(str));

  /* 为str字符数组分配13个字符时,打印结果为:13
   * 为str字符数组分配12个字符时,打印结果为:12
   */
  printf("str字符串有%d字节。\n", sizeof(str));

  return 0;
}

/*总结:

 *对于字符数组,记住要留一个字节给‘\0‘

 */

以上是关于关于字符数组要注意的一个小问题的主要内容,如果未能解决你的问题,请参考以下文章

一个关于求数组内最大子数组的和的小程序以及一周总结

关于正则表达式的一个小总结

关于数组的一些用法

JS判断字符串小括号是否成对合法

关于Django在写小项目的一些小注意事项

js关于数据类型的总结