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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Hadoop面试题[通俗易懂]

    Hadoop面试题[通俗易懂]文章目录你们公司集群有多少机器,内存,硬盘,CPU?你们Hadoop、Hive、Kafka都是什么版本?你们每天的数据量有多少?数据总量是多少?分布式和集群的区别?Hadoop1和Hadoop2的区别?Hadoop1Hadoop2NameNode运行处理什么是Hadoop?说一说Hadoop的shuffle过程?Hadoop中为什么需要排序?HDFS相关概念特点缺点BlockNameNodeDataNodeEditLogFSImageSecondaryNameNodefsimage和edits合

    2022年6月29日
    20
  • 什么叫做信令_核心网与普通网

    什么叫做信令_核心网与普通网[导读] 本文为你介绍信令与信令网的含义、结构、信令方式,信令网的划分、性能指标、编码方式、信令的三层结构等。关键词:信令网信令什么是信令?信令是终端和终端、终端和网络之间传递的一种消

    2022年8月6日
    6
  • String字符串转JSONObject顺序不对,解决「建议收藏」

    String字符串转JSONObject顺序不对,解决「建议收藏」StringgoodsSpec={“21445″:”套装德绒紫”,”21447″:”S”}普通模式JSONObjectjsonObject=JSONObject.parseObject(json);或JSONObjectgoodsSpecs=jsonObject.getJSONObject(goodsSpec);转换返回{“21447″:”S”,”21445″:”套装德绒紫”}原因JsonObject内部是用Hashmap来存储的,所以输出是按key的排序来的,如果要让J

    2022年8月23日
    6
  • Android程序员接私活完整攻略「建议收藏」

    Android程序员接私活完整攻略「建议收藏」接私活对程序员这个圈子来说是一个既公开又隐私的话题,不说全部,应该大多数程序员都有过想要接私活的想法,当然,也有部分得道成仙的不主张接私活。但是很少有人在公开场合讨论私活的问题,似乎都在避嫌。就跟有人下班后跑滴滴一样,程序员私有时间接点活挣点钱不也很正常么,不过不要在上班时间就行,就跟你上班期间出去跑滴滴一样。当你竭尽全力想要去接私活的时候一定做过这样的事,百度搜索“程序员如何接私活”或者…

    2022年6月14日
    157
  • 蚁群算法和简要matlab来源

    蚁群算法和简要matlab来源

    2021年12月30日
    44
  • js高级技巧_JavaScript高级程序

    js高级技巧_JavaScript高级程序下述内容主要讲述了《JavaScript高级程序设计(第3版)》第22章关于“高级技巧”。一、高级函数函数是第一等公民,所有函数都是对象。1.安全的类型检测JavaScript内置的类型检测机制并非完全可靠。varisArray=valueinstanceofArray;以上代码要返回true,value必须是一个数组,而且还必须与Array构造函数在同个全局作用域中。(Array是w

    2022年8月20日
    5

发表回复

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

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