C语言字符串输入及输出的几种方式

C语言字符串输入及输出的几种方式1.字符串数组+初始化chars1[]=”array”;//字符数组chars2[6]=”array”;//数组长度=字符串长度+1,因为字符串末尾会自动添‘\0‘printf(“%s,%c\n”,s1,s2[2]);//array,r2.字符串指针+初始化char*sp=”pointer”;//字符指针printf(“%s,%c,%c\n”,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);

C语言字符串输入及输出的几种方式

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语言字符串输入及输出的几种方式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163849.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java学习代码合集

    Java学习代码合集其实我学习java最根本的原因是:我是一个挺关注外在的人,虽然是个程序员,所以我很喜欢写出那些带有漂亮的界面的程序,因为C总是控制台,我不是很喜欢,在这份java代码合集中,我会记录自己学习Java界面化编程的点点滴滴。更新:因为C/C++是我主要使用语言,所有后来写界面主要用Qt写了,但我java也会继续学的。我只是给想学界面gui的同志一个思路。可以参考这篇文章Qt5计算器的实现可能…

    2022年5月8日
    41
  • 使用idea创建springboot项目_idea创建普通java项目

    使用idea创建springboot项目_idea创建普通java项目约定大于配置;帮我们自动配置了我们需要配置的内容;并且帮我们自动下载了需要下载的jar包以及运行环境;优点:方便,作为初学者来说直接使用就可以了;缺点:出现问题,我们作为初学者很难去定位解决

    2025年10月29日
    5
  • 四足机械狗

    四足机械狗机械狗目录机械狗写在前面计划1搭建模拟环境1.1先模拟条简单的狗腿(two-link)1.1.1ForwardKinematics1.1.2InverseKinematics1.1.3ForwardDynamics1.1.4InverseDynamics1.2模拟个复杂点的狗腿(three/four-link)1.3搭个全身1.4加入Contactmodelling1.5合到一起2控制器设计2.1PDcontroll2.2Impedance/forcecontr

    2022年6月5日
    46
  • 手机扫码登录实现思路是什么_扫码登录wifi如何实现

    手机扫码登录实现思路是什么_扫码登录wifi如何实现手机扫码登录实现思路,从业务场景逐个解决问题,引出实现方案

    2025年8月1日
    3
  • 快速排序中的分割算法的解析与应用

    快速排序中的分割算法的解析与应用

    2021年9月15日
    42
  • PKI

    PKI

    2021年7月27日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号