精华内容
下载资源
问答
  • 本篇文章是对C语言把文件读入字符串以及将字符串写入文件的方法进行了详细的分析介绍,需要的朋友参考下
  • 答案:3信息版本:手机版解决时间 2019-10-06 08:06已解决2019-10-05 23:40c语言新手 如何用定义函数解决读入字符串用getchar还是scanf最佳答案2019-10-06 01:19#include #include #define M 4 #define N 20 void ...

    C语言问题 读入若干字符串,将包含指定字符的字符串输出。

    答案:3  信息版本:手机版

    解决时间 2019-10-06 08:06

    已解决

    2019-10-05 23:40

    c语言新手 如何用定义函数解决

    读入字符串用getchar还是scanf

    最佳答案

    2019-10-06 01:19

    #include #include #define M 4 #define N 20 void Sort(char (*a)[N],int n) { int i,j; char ct[N]; for(i = 0;i < n - 1;i++) { for(j = 0;j < n - i - 1;j++) if(strcmp(a[j],a[j+1]) > 0) { strcpy(ct,a[j]); strcpy(a[j],a[j+1]); strcpy(a[j+1],ct); } } } int main() { int i; char str[M][N]; //输入 for(i = 0;i < M;i++) scanf("%s",str[i]); //排序 Sort(str,M); //输出 for(i = 0;i < M;i++) printf("%s\n",str[i]); return 0; }

    全部回答

    1楼

    2019-10-06 03:02

    看你的代码的意思是先把第一个冒号前面的字符串去掉,然后再分割标示符

    给你个短的版本,如下

    #include

    #include

    #include

    int main(void)

    {

    char s[100] = "iios:12ddwdff-ad_ff=2131_85+asdf";

    char *p = strchr(s, ':')+1;

    printf("[%s]\n", p);

    char *q = p;

    while (*p) {

    if (!isdigit(*p) && !isalpha(*p) && *p!='_') {

    *p = 0; // 添加字符串结尾保证q的结尾正确

    printf("%s\n", q); // 这个q就是你要的字符串,如果你想保存成数组的话就开个数组把q存进去

    q = p+1; // 指向下一个串

    }

    p++;

    }

    printf("%s\n", q); // 这里还有最后一个别忘了。

    return 0;

    }

    2楼

    2019-10-06 01:40

    #include #include #define M 4 #define N 20 void Sort(char (*a)[N],int n) { int i,j; char ct[N]; for(i = 0;i < n - 1;i++) { for(j = 0;j < n - i - 1;j++) if(strcmp(a[j],a[j+1]) > 0) { strcpy(ct,a[j]); strcpy(a[j],a[j+1]); strcpy(a[j+1],ct); } } } int main() { int i; char str[M][N]; //输入 for(i = 0;i < M;i++) scanf("%s",str[i]); //排序 Sort(str,M); //输出 for(i = 0;i < M;i++) printf("%s\n",str[i]); return 0; }

    我要举报

    如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

    大家都在看

    推荐资讯

    展开全文
  • 目标:输入一行字符,统计其中各种字符的个数。具体代码:#include #include #include #define M 1024 void main() { char str[M]; fgets(str, M, stdin); int space = 0; int letter = 0; int num = 0; int other =...

    20200511_5eb9261d4320d.jpg

    目标:

    输入一行字符,统计其中各种字符的个数。

    具体代码:

    #include #include #include #define M 1024 void main() { char str[M]; fgets(str, M, stdin); int space = 0; int letter = 0; int num = 0; int other = 0; for (int i = 0; i < (int)strlen(str); ++i) { if (str[i] == ' ') { space += 1; } else if (str[i] > 64 && str[i] < 91 || str[i]>96 && str[i] < 123) { letter += 1; } else if (str[i] > 47 && str[i] < 58) { num += 1; } else { if (str[i] != 'n') {//因为fgets()函数会在末尾自动加上n,影响判断结果,需要判断是否为换行符 other += 1; } } } printf("空格的个数为:%dn", space); printf("英文字母的个数为:%dn", letter); printf("数字的个数为:%dn", num); printf("其他字符的个数为:%dn", other); system("pause"); }

    注意:fgets()函数会在字符串末尾( 前)读入我们在键盘上敲的回车即换行符n。

    运行结果如下:

    dd5f6242ab7abeb08381f08dd7dea5e2.png

    推荐教程:c语言教程

    展开全文
  • C语言字符串的输入及输出C语言字符串的输入和输出字符串的输入和输出%c 人为加入\0进行输入输出%s 直接输入输出*输入输出字符串时字符数组应有足够的存储空间,指针变量作为输入项时,指针必须已经指向确切的、足够...

    C语言字符串的输入及输出

    C语言字符串的输入和输出字符串的输入和输出%c 人为加入\0进行输入输出%s 直接输入输出*输入输出字符串时字符数组应有足够的存储空间,指针变量作为输入项时,指针必须已经指向确切的、足够大的存储空间%s的使用scanf("%s",地址值)地址值:字符数组名、字符指针、字符数组元素的地址例: char str[15];scanf("%s",str);abc 123不读入空格和回车,从空格处结束2.输入字符串长度超过字符数组元素个数,不报错3.当输入项为字符指针时,指针必须已指向确定的有足够空间的连续存储单元4.当为数组元素地址时,从此元素地址开始存放printf("%s",地址值)输出时遇到第一个'\0'为止gets和puts函数开头必须stdio.h#include "stdio.h"1.gets(地址值)地址值:字符数组名、字符指针、字符数组元素的地址当为数组元素地址时,从此元素地址开始存放printf("%s",地址值)输出时遇到第一个'\0'为止gets和puts函数开头必须stdio.h#include "stdio.h"1.gets(地址值)地址值:字符数组名、字符指针、字符数组元素的地址例:char str[10];gets(str);包括空格符2.puts(字符串起始地址)遇第一个'\0'结束,自动加入换行符字符串数组:数组中每个元素都是一个存放字符串的数组可以将一个二维数组看作是字符串数组char ca[3][5]={"A","BB","CCC"};A \0B B \0C C C \0字符型指针数组char *pa[3]={"a","bb","ccc"};pa[0] pa[1] pa[2]可以重新赋值 gets(pa[2]);pa[2]中的地址未变,仍指向具有4个元素的无名字符数组,只能在一行上输入包含3个字符的字符串*(pa[2]+1)、pa[2][1]、等形式引用pa数组所指字符串的字符字符串处理的函数以string.h开头pa[2]中的地址未变,仍指向具有4个元素的无名字符数组,只能在一行上输入包含3个字符的字符串*(pa[2]+1)、pa[2][1]、等形式引用pa数组所指字符串的字符字符串处理的函数以string.h开头

    展开全文
  • C语言反转字符串

    2021-02-23 08:45:14
    反转字符串虽然简单但应用范围却很广,一般的套路是先用字符串数组读入字符串,然后循环并倒序输出每一位字符。 我又想到了在做链表反转时用到的递归的思路来尝试解决此类问题,于是有了本文。 // 递归反转字符串 ...

    C语言反转字符串

    最近看了好多开发中的奇技淫巧,于是有了这样的思路
    反转字符串虽然简单但应用范围却很广,一般的套路是先用字符串数组读入字符串,然后循环并倒序输出每一位字符。
    我又想到了在做链表反转时用到的递归的思路来尝试解决此类问题,于是有了本文。

    // 递归反转字符串 
    void reverseStr(char *s){
    	if(*s == '\0') return;
    	reverseStr(++s);
    	printf("%c",*(--s));
    } 
    
    int main(void){
    	char s[] = "\0";
    	gets(s);
    	reverseStr(s);
    	return 0;
    }
    

    思路

    1. 输入字符串,并将其首地址传给 reverseStr 函数开始递归
    2. 判断当前地址所指向的字符是否是字符串结尾 ‘\0’ 如果不是,就将当前指针所指向的下一个字符的指针传给本身进行递归,如果是的话就返回到上一层调用
    3. 当达到最后一个字符时通过return返回到上一层递归调用,并输出当前的字符

    测试

    #1
    在这里插入图片描述
    #2
    在这里插入图片描述

    展开全文
  • c语言字符串是以空字符(\0)结尾的char数组。1、字符串的表示1、字符串常量:指用双引号中的任何字符。在双引号里面的字符编译器会自动提供\0字符。 字符串常量属于静态存储类。静态类存储是指如果一个函数中...
  • C语言字符串

    2017-07-23 14:47:42
    C语言字符串 字符串定义 字符串的输入输出 字符串函数 字符串杂项 字符串定义 字面量定义 字符串数组定义 字符串指针定义 字面量定义 字符串的字面量定义也就是常说的字符串常量定义,形如以下形式: “hello c ...
  • 基于c语言实现 字符串排序

    千次阅读 2020-04-23 19:34:15
    基于c语言实现 字符串排序一.简单的字符串排序举例实现题目代码 一.简单的字符串排序 给定有限个字符串,将其按照大小顺序排列。 此时的大小顺序简单来说我们可以先认为是ASCLL码的大小顺序。由此我们只需要比较字符...
  • C语言回文字符串

    千次阅读 2019-10-07 20:04:09
    请写一个程序判断读入字符串是否是“回文”。 输入:包含多个测试实例,每一行对应一个字符串,串长最多100字母。 输出:对每个字符串,输出它是第几个,如第一个输出为"case1:";如果一个字符串是回文串,则...
  • c语言字符串中的小写字母转换成大写字母描述给定一个字符串,将其中所有的小写字母转换成大写字母。输入输入一行,包含一个字符串(长度不超过100,可能包含空格)。输出输出转换后的字符串。样例输入helloworld123...
  • C语言里scanf读入字符串时的小问题 原来对于字符指针和字符数组的区别很模糊 无意间尝试用scanf读入未初始化的字符指针报了段错误 char *str1, *str2; scanf("%s", str1); scanf("%s",str2); 原因: 字符指针如果...
  • 1、C语言中的字符串C语言中,字符串的使用对于初学者来说是个很容易混淆、很容易出错。C语言字符串是以‘\0′结尾。因此,我们使用字符串时,始终要记得留一个字节用于存放结尾符。请看下面一段代码,哪个地方会在...
  • C语言字符串输入gets()函数

    千次阅读 2020-06-26 21:13:23
    C语言字符串输入gets()函数 字符串简介 字符串(character string)是一个或多个字符的序列。如下所示: "Zing went the strings of my heart!" 双引号不是字符串的一部分。双引号告知编译器它括起来的是字符串。...
  • 1.纯C实现 FILE *fp; if ((fp = fopen("example.txt", "rb")) == NULL) { exit(0); } fseek(fp, 0, SEEK_END); int fileLen = ftell(fp);... char *tmp = (char *) malloc(sizeof(char) * fileLen);...
  • C语言-字符串

    2014-10-09 11:20:09
    一、字符串简介二、字符串的初始化三、字符串的输出 四、字符串的输入五、字符串数组 说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有...
  • C语言实现字符串连接(mycat函数)

    千次阅读 2020-09-26 16:44:29
    C语言字符串以\0结尾,我们可以用指针变量对两个字符串进行处理。 我们可以定义两个指针变量,利用循环,当循环到第一个字符串“\0”时,将下一个字符串数据逐一填入,直到循环到第二个字符串末尾的”\0“时,循环...
  • 深入C语言把文件读入字符串

    千次阅读 2017-10-26 19:39:42
    1.纯C实现FILE *fp; if ((fp = fopen("example.txt", "rb")) == NULL) { exit(0); } fseek(fp, 0, SEEK_END); int fileLen = ftell(fp);... char *tmp = (char *) malloc(sizeof(char) * fileLen);...
  • C语言字符串输入fgets()函数

    千次阅读 2020-06-26 21:18:51
    C语言字符串输入fgets()函数 fgets()函数简介 读字符串函数fgets()的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针),要从键盘输入时文件指针的参数为:...
  • C语言常用字符串操作函数整理(详细全面)

    千次阅读 多人点赞 2020-01-04 16:25:47
    功能: 从标准输入读入字符,并保存到s指定的内存空间,直到出现换行符或读到文件结尾为止 参数: s:字符串首地址 返回值: 成功:读入的字符串 失败:NULL gets(str)与scanf(“%s”,str)的区别: gets(str)允许输入的...
  • 一、字符串的地址以及指向字符串的指针变量的定义。 1. 字符常量:用单引号括起来的一个字符。 2. 字符串常量:用双引号括起来的一串字符。 3. 注意:由于变量只能存放一个字符,所以字符串只能存储在数组当中。 ...
  • C语言字符串输入函数gets_s()

    千次阅读 2020-06-26 21:11:33
    C11新增了gets_s()函数(可选),和fgets()函数类似(上一篇博客有介绍《 C语言字符串输入fgets()函数 》),用一个参数限制读入的字符数。gets_s()函数的形式如下: gets_s(words,STLEN); gets_s()与fgets()的...
  • 1. 函数gets的定义如下,当读入一个字符串时,自动将字符串末尾的换行符替换为字符'\0',所以判断字符数组是否读完,应判断当前字符是否等于'\0'char *gets(char *s)gets 函数把下一个输入行读入到数组s 中,并把...
  • C语言字符串的存储和表示@TOC 逐个字符输入输出字符串C语言字符串是保存在数组中的,因此在输入一串字符的时候我们需要先定义一个数组。 #define STR_LEN 80 char str[STR_LEN+1]; 一般我们习惯将宏定义...
  • C语言字符串处理

    2015-02-04 14:56:52
    该文档包涵了多个C语言中的对于字符串的处理函数,同时也是这些函数的还原
  • c语言输入字符串有空格怎么办

    千次阅读 2020-05-14 14:07:08
    printf("输入一段字符串:"); fgets(str,50,stdin); 采用fgets输入可以识别空格,如输入hello world,输出hello world 若采用scanf,空格就相当于一个结束符,识别不了 如输入hello world,只能输出hello 只不过用...
  • C语言---读入字符串

    千次阅读 2013-04-05 14:45:00
    1、读入字符串可以使用以下方法: char str[20]; scanf("%s",str);   char str[20]; gets(str);   char str[20]; fgets(str,20,stdin);   char* str=readline(NULL); ... free(str); 以上方法都可以用于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,092
精华内容 15,236
关键字:

c语言读入字符串

c语言 订阅