字符数组和字符串
内容纲要

定义一个字符数组:

char ch[]={'t','o','u','g','h'};

定义一个字符串:

char ch[]={'t','o','u','g','h','\0'};

可见字符数组占5个字节,字符串占6个字节,字符串是以'\0'结束的;
其中 0等价于'\0',但是'0'和'\0'却是不等价的,因为字符'0'的ASCII码对应的是数字48。

字符串拼接

//字符数组和字符串
int main() 
{
    //字符串的拼接
    char ch1[] = "we";
    char ch2[] = "are";
    char ch3[] = "tougher";
    char ch[20];
    int i=0, j=0, k=0;
    while (ch1[i]!='\0')
    {
        ch[i] = ch1[i];
        i++;

    }
    while (ch2[j] != '\0')
    {
        ch[i + j] = ch2[j];
        j++;
    }
    while (ch3[k] != '\0')
    {
        ch[i + j + k] = ch3[k];
        k++;
    }
    ch[i + j + k] = 0;
    printf("%s",ch);
    return 0;
}

获取字符串

1.通过scanf函数

include <stdio.h>
 int main()
 {
  char str[100];
  scanf("%s",str);
  printf("%s\n",str);
  return 0;
 }

2.通过gets函数

include <stdio.h>
 int main()
 {
  char str[100];
  gets(str);
  printf("%s\n",str);
  return 0;
 }

3.通过fgets函数

include <stdio.h>
 int main()
 {
  char str[100];
  fgets(str,sizeof(str),stdin);
  printf("%s\n",str);
  return 0;
 }

上述三种方法中:
1.scanf函数不能接收空格,若要用scanf接收空格,则需要通过正则表达式:scanf("[^\n]",str);
2.gets和fgets可以接收空格;
3.fgets不存在缓冲区溢出问题,fgets结尾包含"\n"

输出字符串

1.通过printf函数

include<stdio.h>
 int main()
 {
  char ch[]="hello";
  printf("%s\n",ch);
  return 0;
 }

2.通过puts函数

include<stdio.h>
 int main()
 {
  char ch[]="hello";
  puts(ch);          //自带换行;一般需要换行可使用puts("");
  return 0;
 }

3.通过fputs函数

include<stdio.h>
 int main()
 {
  char ch[]="hello";
  fputs(ch,stdout);
  return 0;
 }

字符串长度

strlen()

strlen()计算指定字符串长度,不包含"\n"。
sizeof()计算数组长度,包含"\n"。

include <stdio.h>
int main()
{
 char ch[]="hello"
 printf("数组大小:%d",sizeof(ch));//结果为6
  printf("字符串大小:%d",strlen(ch));//结果为5
  return 0;
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇