精华内容
下载资源
问答
  • c语言逆序输出字符串

    2015-05-20 09:57:49
    只用简单几句话,实现逆序输出.使用gets和putchar来实现
  • C语言中的字符串输入输出函数

    千次阅读 2020-06-29 08:08:33
    1. 字符串输入(gets、fgets、gets_s、scanf) a. 分配内存空间 a. 静态内存分配 ○ 指的是在编译时确定数组等数据类型的大小,然后由计算机分配好 ○ 在声明数组时要显式的声明数组的大小,为字符串输入...

    1. 字符串输入(gets、fgets、gets_s、scanf)

    	a. 分配内存空间
    		a. 静态内存分配
    			○ 指的是在编译时确定数组等数据类型的大小,然后由计算机分配好
    			○ 在声明数组时要显式的声明数组的大小,为字符串的输入分配内存空间
    			○ char name[81];
    		b. 动态内存分配
    			○ 通俗一点就是向计算机要内存空间,是在程序运行时,再向计算机要内存
    			○ 一般是用malloc函数
    				§ #include<stdlib.h>
    				§ void* malloc(size_t  size);
    				§ 利用malloc申请到的内存空间是以字节为单位的,返回的结果是void *,一般需要类型转换为自己需要的类型号
    				int *a;
    				a=(int*)malloc(n*sizeof(int));  //本语句的意思就是通过malloc函数向计算机申请一块内存空间,这个空间的大小是
    				n*sizeof(int),返回的是一个void*类型的指针,也就是一个指向未知类型数据的地址,之后再把这个指针转化为我们需要的类型---int *。
    				§ 与申请内存空间相对应的就是释放内存空间free()
    					□ free(a);
    					□ 只能还申请来的空间的首地址
    				§ 如果申请失败了就会选择返回0或者是NULL
    	b. gets()
    		○ gets()函数只是知道分配的内存空间的地址,但是不知道分配的内存空间有多大,也即是有可能会造成缓存区溢出问题
    		○ 读取整行数据,直至遇到换行符
    		○ gets函数会将读进的换行符丢掉
    	c. fgets()函数(通常是最佳选择)
    		○ fgets(缓冲区地址,读入字符最大值,提供字符串的文件)
    			○ fgets知道要分配的内存地址和内存空间的最大值,以及字符串数据的来源(文件),如果在控制台读入,则用stdin。
    			○ fgets()将读入n-1字符或者遇到第一个换行符为止
    			○ fgets把换行符放在字符串末尾
    			○ 该函数函数返回的地址与传入的第 1 个参数相同
    
    				#include <stdio.h>
    				#define SIZE 10
    				
    				int main()
    				{
    				    char words[SIZE];
    				    puts("Enter string:");
    				    while (fgets(words, SIZE, stdin) != NULL && words[0] != '\n') 
    				   {   
    				        fputs(words, stdout);
    				    }
    				    puts("Done");
    				
    				    return 0;
    				}
    				//如果读到文件结尾或者空行时就会退出
    				//在本例中,fgets的返回值一直都不是NULL
    				//fgets()读取字符为(SIZE-1)个即停止,或者读取到第一个‘\n’即可
    
    		○ fputs(数据来源,要写入的文件)
    			○ fputs知道数据来源和数据要写入到哪个文件,如果是写入到控制台,则用stdout
    			○ 数据来源有什么就会写什么,不会自动添加换行符
    	d. gets_s()函数也可以用于替代gets
    			○ gets_s(argu1,argu2)
    				§ argu1是存储位置,argu2是最大字符数
    			○ 和gets()一样,读到换行符时,会把换行符丢弃掉
    	e. scanf()
    		○ scanf函数确定字符串末尾的方法是
    			○ 从非空白开始直至遇到第一个空白字符(包括空行、空格、制表符、换行符)
    			○ 若指定字段宽,则将满足字宽和第一个空白字符“做或逻辑”--->满足即可
    			○ 若上一次读取键盘输入没有读完,下一次读取会从上次调用函数结束的地方开始
    

    2. 字符串输出:puts()、fputs()、printf()

    	a. puts(argu1)函数
    		a. argu1:输出字符串的地址
    		b. puts函数会在输出字符串的末尾自动加上换行符
    		c. 遇到空字符就会停止输出---因此必须确保要有空字符
    		d. 如果没有空字符,那么puts会继续打印内存中后面的字符直至遇到空字符
    	b. fputs(argu1,argu2)函数
    		a. argu1:输出字符地址;argu2:要写入数据的文件(打印在显示器用stdout)
    		b. 不在末尾添加换行符号
    	c. printf()函数
    		a. 不在末尾加换行符号
    		b. 打印多个字符串更加简单
    

    3. 自定义输入输出函数

    	a. 利用putchar,getchar,while循环等自定义输入输出函数
    
    展开全文
  • 主要介绍了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,是数学中非常实用的排列算法,需要的朋友可以参考下
  • C语言如何输入输出一个字符串

    万次阅读 多人点赞 2019-03-28 22:41:50
    C语言习题中,经常遇到字符串输入输出,我们在这里简单总结一下字符串输入输出方式。 C语言中用一般用数组来处理字符串,这里暂时讨论一维数组的输入输出,二维之后再加上。 定义:char 数组名[常量] 输入输出:...

    C语言习题中,经常遇到字符串的输入输出,我们在这里简单总结一下字符串的输入输出方式。

    C语言中用一般用数组来处理字符串,这里暂时讨论一维数组的输入输出,二维之后再加上。
    定义:char 数组名[常量]
    输入输出:我们可用scanf&&printf或者字符串处理函数来输入输出,处理逐个字符用%c,整个字符串用%s。

    一 scanf&&printf

    I. 逐个字符的处理
    以’.'来表示字符串的结束。

    #include<stdio.h> 
    int main(){
      	char s[10],i=0;
      	scanf("%c",s);  
      	while(s[i]!='.'){
      	scanf("%c",&s[++i]);
      	}
      	i=0;
      	while(s[i]!='.'){
      	printf("%c",s[i++]);
      	}
      	printf("%c",s[i++]);
      	return 0;
    }
    ```
    

    优点:可以接受含有空格和回车的字符串。
    II. 整个字符串的输入输出

    #include<stdio.h>
    int main(){
     	char s[10];
     	scanf("%s",s);  //or scanf("%s")
     	printf("%s",s);
     	return 0;
     }
    
    

    优点:简洁方便;
    缺点:不能接受含有空格的字符串。

    二 字符串处理函数<stdio.h>

    I. 逐个字符的处理

    #include<stdio.h>
    #include<string.h>
    int main(){
     	char s[10];
     	int i=0;
     	s[i]=getchar();
     	while(s[i]!='.'){
      	s[++i]=getchar();
     	}
     	i=0;
     	while(s[i]!='.'){
      	putchar(s[i++]);
     	}
    	putchar(s[i]);
    	return 0;
    }
    

    优点:可以接受含有空格和回车的字符串。
    II. 整个字符串的输入输出

    #include<stdio.h>
    #include<string.h>
    int main(){
     	char s[10];
     	gets(s);
     	puts(s);
     	return 0;
    }
    

    优点:简洁方便,也可以接受含有其他特殊字符的输入输出,如空格,回车等。推荐使用

    展开全文
  • C语言字符串输入输出函数实例

    千次阅读 2019-12-28 09:47:09
    C语言系列目录 C/C++学习资源(百度云盘链接) ...字符数据输入输出 字符数据输出函数putchar() C语言字符数据输出使用的是putchar()函数,它的作用就是向终端输出一个字符。 函数格式如下 int p...

    C语言系列目录

    C/C++学习资源(百度云盘链接)
    C语言学习路线(从入门到实战)
    编写C语言程序的7个步骤和编程机制
    VS2019编写简单的C程序示例
    简单示例,VS2019调试C语言程序
    C语言基础-基本算法
    C语言基础-数据类型

    字符数据输入输出

    字符数据输出函数putchar()

    C语言中字符数据输出使用的是putchar()函数,它的作用就是向终端输出一个字符。

    函数格式如下
    int putchar(int ch);
    如果要向终端输出一个字符’A’,我们可以使用
    putchar('A');
    接下来我们来看一个例子
    在这里插入图片描述
    通过多次调用putchar函数,我们在终端打印出Hello.

    字符数据输入函数getchar()

    与上面介绍的putchar对应的就是getchar函数,getchar的作用就是从终端获取输入一个字符。
    函数格式如下
    int getchar();
    我们再来看一个例子
    在这里插入图片描述

    字符串输入输出

    下来我们来看字符串输入输出函数,顾名思义字符串就是一串字符(多个字符)这里先不做详细的说明,主要通过两个示例来看下puts()和gets()函数
    在这里插入图片描述
    从结果可以看出

    • puts输出字符串后自动换行
    • puts输出字符串时遇到’\0’停止输出
      在这里插入图片描述

    关于输入输出函数就先介绍到这,后续继续补充。
    如果您觉得本篇文章对您有帮助,请转发给更多的人
    C语言中文社区】是一个C语言视频教程、学习笔记、电子书、计算机二级资料等专注于C语言编程学习者的干货知识分享平台,精选深度文章,分享优秀干货类、技能类的学习资源,帮助学习中的你。
    在这里插入图片描述

    展开全文
  • C语言字符串输入输出的几种方式

    万次阅读 多人点赞 2018-02-06 00:12:56
    1.字符串数组+初始化 char s1[]="array"; //字符数组 char s2[6]="array"; //数组长度=字符串长度+1,因为字符串末尾会自动添‘\0‘ printf("%s,%c\n",s1,s2[2]); //array,r 2.字符串指针+初始化 char *sp=...

    1.字符串数组+初始化

    char s1[]="array";  //字符数组
    char s2[6]="array";  //数组长度=字符串长度+1,因为字符串末尾会自动添‘\0‘
    printf("%s,%c\n",s1,s2[2]);  //array,r

    2.字符串指针+初始化

    char *sp="pointer";  //字符指针
    printf("%s,%c,%c\n",sp,*sp,*(sp+2));  //pointer,p,i
    3.数组+scanf

    char s1[6];	
    scanf("%s\n",s1);
    printf("%s,%c\n",s1,s1[2]);  //array,r
    4.指针+scanf
    #include <stdio.h>
    #include<stdlib.h>   //该头文件别忘加,否则使用malloc会报错
    int main(){
      char *sp;
      sp=(char *)malloc(sizeof(char));
      scanf("%s\n",sp);
      printf("%s,%c\n",sp,*sp);//pointer,p
      return 0;
    }
    5.指针+数组+scanf

    char str[60], *sp=str;//将数组的首地址str赋给指针变量sp
    scanf("%s\n",sp);
    printf("%s,%c,%c\n",sp,*sp,*(sp+3));//pointer,p,n
    printf("%s,%c,%c\n",str,str[0],str[3]);//pointer,p,n
    6.注意:如下方法控制台运行会终止

    char *sp;//sp未初始化指向不明
    scanf("%s\n",sp);
    printf("%s\n",sp);
    7.用scanf和gets( 字符数组名或指针)进行输入的区别:

    char str1[60],str2[60];
    gets(str1);  //gets()函数将接收输入的整个字符串直到遇到换行为止
    printf("%s\n",str1);
    scanf("%s\n",str2);//scanf如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理
    printf("%s\n",str2);

    8.使用while(scanf("%d",&n)!=EOF){ }实现多组测试数据输入,而不在输入完一组数据后退出控制台

    char s1[60],s2[60];
    int cnt; //用来测试scanf返回被输入函数成功赋值的变量个数
    while((cnt=scanf("%s%s",s1,s2))!=EOF){  //当按下ctr+z终止输入时,scanf会返回EOF(-1)\n
       printf("scanf返回了%d, s1是%s,s2是%s, 这行输出下方可以继续进行输入\n",cnt,s1,s2);
       //scanf若成功输入str1和str2则返回2
    }
    printf("%d",cnt);//当按下ctr+z后会执行该条输出-1
























    展开全文
  • C语言如何输入输出字符串发布时间:2020-11-16 17:22:03来源:亿速云阅读:165作者:小新这篇文章主要介绍了C语言如何输入输出字符串,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有...
  • 例如输入字符串abc,则输出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba 思路 这是典型的递归求解问题,递归算法有四个特性: 必须有可达到的终止条件,否则程序陷入死循环 子问题在规模上...
  • C语言字符串输入输出函数

    千次阅读 多人点赞 2020-03-21 18:36:15
    C语言字符串输入输出函数 (1)putchar()函数 格式: putchar© 功能:向终端输出一个字符 注意:输出的时候不会加回车 (2) getchar()函数 格式:字符型变量=getchar () 功能:从标准输入设备上读取单个字符,返回值...
  • C语言如何输入输出字符串

    万次阅读 2017-10-10 19:56:28
    字符串输入输出方法:逐个字符的输入输出%c,整个字符串输入输出%s。 第一:scanf和printf输入输出字符串 (1)逐个字符的输入输出: char a[5]={}; int i=0; for(i=0;i;i++) { scanf("%c",&a[i]); printf...
  • C语言字符数组的输入输出

    万次阅读 多人点赞 2018-12-20 10:56:46
    目录 用printf输出 ... 输出方法1:printf 逐个字符输出。  void main(void){  char c[ ] = "I am happy";   int i;    for(i =0; i &lt; 10; i++){ ...
  • c语言字符串输入输出的几种方式

    千次阅读 多人点赞 2020-02-11 13:05:31
    在不引入string.h的前提下对字符串进行输入输出操作 1.输入 (1)使用scanf()输入字符串 %s是字符串格式符号,使用格式符%s,整体输入字符串 格式: scanf("%s", 字符数组名),注意这里不用在数组名前加&,以...
  • C语言中,输入输出字符串有以下两种方式:1 用scanf/printf输入输出。scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也.在运行后我发现系统对于输入的c和ch并没有正确...
  • C语言输入字符串翻转输出

    千次阅读 2019-02-20 15:34:54
    输入字符串翻转输出。例如abc→cba #include&amp;lt;stdio.h&amp;gt; #include&amp;lt;string.h&amp;gt; #define max 256 int main() { char a[max]; gets(a); int length=strlen(a); ...
  • C语言 逆序输出字符串

    千次阅读 2020-10-27 09:20:16
    除了以上两种,还可以对字符串进行原地逆置,最后再将该字符串输出即可。 一、简单递归实现 void fun(char *s) { if(*s!='\0') // 递归终止条件 { fun(s+1); // 注意这里是先递归再输出,这样就可以从后面开始...
  • #include<stdio.h> #include<string.h> int main(){ void reverse(char arr[]); char cs[20];... while(scanf("%s",cs)!=EOF){ //输入多行字符串 reverse(cs);//调用倒序输出字符串的函数 pri...
  • C语言字符串输入输出

    万次阅读 多人点赞 2018-01-26 21:30:39
    C语言中,输出字符串的函数有两个: puts():直接输出字符串,并且只能输出字符串。printf():通过格式控制符 %s 输出字符串。除了字符串,printf() 还能输出其他类型的数据。 这两个函数前面已经讲过了,...
  • 使用C语言实现字符串的逆序输出

    千次阅读 2021-05-25 18:42:07
    使用C语言实现字符串的逆序输出 方法1: #include<stdio.h> #include<string.h> void reverse(char *s){ int n = 0; int m = strlen(s) - 1; while(n<m){ char tmp = s[n]; s[n] = s[m]; s[m] = tmp;...
  • C语言链表实现字符串输入、查找、删除等 C语言实验内容
  • C语言实现字符串倒序输出

    热门讨论 2012-01-25 20:22:40
    C语言实现字符串的倒序输出,实现不了的,可以参考一下!
  • 可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。 通过字符数组定义字符串 一维的情况如下: char string0[10];//定义个长度为10的字符串,但未赋值 char string1[]="prison break";//...
  • C语言中怎样定义一个字符串输入输出

    万次阅读 多人点赞 2018-02-28 16:57:29
    C语言中没有字符串类型,用字符数组处理字符串 ...输入输出方法:逐个字符输入输出:%c 整个字符串输入输出:%s 一 :用scanf输入字符串,printf输出字符串  逐个字符处理: #include int main()
  • C语言字符串输入输出

    千次阅读 2020-02-23 10:59:46
    C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是: puts():输出字符串并自动换行,该函数只能输出字符串。 printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还...
  • C语言字符串输出

    千次阅读 2021-05-19 18:31:06
    除了上述用字符串赋初值的办法外,还可用scanf函数和printf函数一次性输入输出一个字符数组中的字符串,而不必使用循环语句逐个输入输出每个字符。要输出一个字符串需要在printf函数的格式描述串中使用转换字符串“%...
  • c语言字符串颠倒

    2018-10-28 22:55:04
    C语言实现字符串顺序翻转。
  • C语言中,输入输出字符串有以下两种方式:1 用scanf/printf输入输出。scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也.最基本的实现有三种,高级实现技巧不说。第一种:...
  • 输入字符串进行排序后输出 输入描述: 输入有两行,第一行n 第二行是n个空格隔开的字符串 输出描述: 输出一行排序后的字符串,空格隔开,无结尾空格 #include <stdio.h> int main() { int n, i...
  • 1. 由于C语言没有字符串类型,字符串的使用需要依靠字符数组实现,本文用 3 个例子实现字符数组的输入输出操作。 2.本文中出现的 gets() 、puts() 函数需引入 string.h 头文件 #include <string.h> 方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 171,324
精华内容 68,529
关键字:

字符串c语言输入输出

c语言 订阅