3.1 字符串操作

1. 单字符输入输出

1.1 putchar

  • int putchar(int c)
  • 向标准输出 写一个字符
  • 返回写了几个字符,EOF(-1)表示写失败

1.2 getchar

  • int getchar(void);
  • 从标准输入 读入一个字符
  • 出错返回EOF(-1)
  • 停止输入
    • Windows:Ctrl + Z
    • Unix:Ctrl + D
      Ctrl + C 是退出运行的程序
#include<stdio.h>


int main(int argc, char const *argv[])
{
    int ch;

    while((ch = getchar()) != EOF){
        putchar(ch);
    }

    printf("---------over\n");

    return 0;
}

这里写图片描述

键盘输入字符,通过shell传给电脑内部做运算,当输入 Ctrl + C 或 Ctrl + Z 时,shell拦截并做对应处理

2. 字符串数组

  • char **a
    • a是一个指针,指向另一个指针,那个指针指向一个字符(串)
  • char a[][]
  • char *a[] 是存储大小不确定的数组,a[0]指向一个区域,存储大小不确定
#include<stdio.h>


int main(int argc, char const *argv[])
{
    // [Error] declaration of 'a' as multidimensional array must have bounds for all dimensions except the first
    // 多维数组 除了第一个,要指定大小 
//  char a[][] = {
//      "Hello",
//  };

    // a[0] 存储的是 Hello\0 
    char a[][10] = {
        "Hello",
    };

    // [Error] initializer-string for array of chars is too long [-fpermissive]
    // 定义一个数组 b[][10],每个元素是 char[10],长度应该在 0-10之间,超过会报错 
//  char b[][10] = {
//      "Hello",
//      "abcdefghijklmnopq"
//  };


    return 0;
}

3. main参数

  • int main(int argc, char const *argv[])
  • argv[0] 是命令本身
    • 当使用 Unix的符号链接时,反映符号链接的名字
#include<stdio.h>


int main(int argc, char const *argv[])
{
    int i;
    for(i = 0; i < argc; i++){
        printf("%d::%s\n", argv[i]);
    }


    return 0;
}

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值