c语言字符串

一 数组的初始化

#include <stdio.h>
#include <windows.h>

int main()
{
    // 初始化方式1
    int age[5] = { 16,18,20,19,17 };

    // 初始化方式2
    int weight[5] = { 100,98 };  // weight[0] = 100, weight[1] = 98,其他都初始化为0

    // 初始化方式3
    float height[] = { 1.60, 1.72, 1.74, 1.65, 1.80 }; // 等效于int height[5] = { 160, 172, 174, 165, 180 };

    for (int i = 0; i < 5; i++)
    {
        printf("同学%d 年龄:%d 身高:%.2f 体重:%d\n", i + 1, age[i], height[i], weight[i]);
    }

    // 数组元素访问时,要注意下表越界的问题
    // age[5] = 23;  //访问越界

    system("pause");
    return 0;
}

image

二 c语言字符串的存储、初始化

  • 在c语言中,字符串是以“字符数组”存储的。
#include <stdio.h>
#include <windows.h>

int main()
{
    // 初始化1
    char name1[10] = "wangli";  // char name[10] = {'w','a','n','g','l','i','\0'};
    printf("%s\n", name1);

    // 初始化2
    char name2[] = "wangli";
    printf("name2的大小是%d\n", sizeof(name2)); // 7

    system("pause");
    return 0;
}

image

三 c语言字符串的输入输出

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <windows.h>

int main()
{
    char name[16];
    char addr[64];

    printf("姑娘芳名?\n");
    scanf("%s", name);
    printf("%s姑娘,家住哪里?\n",name);
    rewind(stdin);  // 清空输入缓冲区
    gets_s(addr, 64); // 读一行,直到遇到回车符
    printf("家住%s的%s姑娘,我中意你哦!\n", addr, name);
    printf("addr的长度是:%d\n", strlen(addr));

    system("pause");
    return 0;
}

image

四 c语言strlen()和sizeof()

#include <stdio.h>
#include <windows.h>

int main()
{
    char name[] = "wangli";
    printf("strlen: %d\n", strlen(name));  // 不包括'\0'
    printf("sizeof: %d\n", sizeof(name));  // 包括'\0'
    system("pause");
    return 0;
}

image

五 c语言字符串的比较

  • int strcmp(const char *str1, const char *str2)
  • 返回值:
    str1 < str2时,返回值 < 0
    str1 = str2时,返回值 = 0
    str1 > str2时,返回值 > 0
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <Windows.h>
#include <string.h>

int main()
{
    char addr[1024] = {0};
    
    printf("美女,你是哪里人?");
    scanf("%s", addr);

    if (strcmp(addr, "湖南") ==0)
    {
        printf("美女,我们是老乡啊!\n");
    }
    else
    {
        printf("美女,你和我同学是老乡啊!\n");
    }

    system("pause");
    return 0;
}

image
image

posted @ 2022-04-04 08:35  荒年、  阅读(95)  评论(0编辑  收藏  举报