ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1.4字符串

2021-11-02 13:01:26  阅读:149  来源: 互联网

标签:1.4 int char 读入 字符串 100 main


1.ASCII码对照表

int 48表示0,65表示A,97表示a

输入一行字符,统计数字和字母各出现了多少次

 

2.字符串读入

字符使用单引号引起来的,字符串是用双引号。

字符串就是字符数组加上\0

可以使用字符串来初始化字符数组,但是因为要加\0,所以字符数组的长度至少要比字符串多1。

定义字符串从第二个开始输出,如char a[] = {'A', 'B', 'C', 'D', '\0'},用a+1;a = "ABCD"也是同理。代码如下:

 

 用双引号引起来直接定义字符串,但是是char a3[4] = "C++";只定义3个长度的话会报错,要多一个长度自动添加空字符。

 

用scanf读入的时候不用加&符号,但是读入某一元素需要,如scanf("%s",&a[1])。代码如下:

int main(){
    char a[100];
    scanf("%s",a);
    //scanf("%s",a+1); 从1开始定义; 或cin>>a+1;
    printf("%s ",a);
    system("pause");
}

字符串用scanf和cin读入是碰到空格、回车就停止读入,所以读入多个用空格啥的隔开的字符串用fgets(字符串,最多读入多少次,stdin)。代码如下

#include <bits/stdc++.h>
using namespace std;
int main(){
    char a[100];
    string s;
    fgets(a,100,stdin);
    getline(cin,s);
    cout<<a<<endl;
    cout<<s<<endl;
}

运行结果如下:

 

string后面不能加【】。。。

或者可以写cin.getline(a,100)读入char

int main(){
    char a[100];
    cin.getline(a,100);//数字是最多读入多少次
}

3.字符串输出

int main(){
    char a[100];
    fgets(a,100,stdin);
    puts(a);//输出a
    system("pause");
}

4.相关函数

字符串长度strlen

cout<<strlen(a)<<endl;

也可以用循环实现,代码如下:

int len = 0;
for(int i = 0;a[i];i++) len++;
cout<<len<<endl;

 

比较两个字符串strcmp(),进行字典序比较

int main(){
    char a[]= "abc";
    char b[]= "abd";
    cout<<strcmp(a,b)<<endl;//小于输出-1
    cout<<strcmp(b,a)<<endl;//大于输出1
    cout<<strcmp(a,"abc")<<endl;//等于输出0,可以直接在里面写字符串
    system("pause");
}

 

复制另一个字符串strcpy()。

strcpy(b,a);//把a复制给b

 

标签:1.4,int,char,读入,字符串,100,main
来源: https://www.cnblogs.com/ratillase/p/15497647.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有