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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 面试必需要明白的 Redis 分布式锁实现原理!

    作者 | Vt 来源 | juejin.im/post/5e61a454e51d4526f071e1df 谈起redis锁,下面三个,算是出现最多的高频词汇: setnx…

  • ROC曲线的含义以及画法

    ROC曲线的含义以及画法**ROC的含义及画法**ROC的全名叫做ReceiverOperatingCharacteristic(受试者工作特征曲线),又称为感受性曲线(sensitivitycurve)。得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反应,只不过是在几种不同的判定标准下所得的结果而已。其主要分析工具是一个画在二维平面上的曲线——ROC曲线。ROC曲线以真正例率TPR为纵轴,以假正例率FPR为横轴,在不同的阈值下获得坐标点,并连接各个坐标点,得到ROC曲线。对于一个分类任务

  • RemObjects的特征

    RemObjects的特征RemObjectsSDK‘Vinci’是成功的跨平台远程框架的第五个版本,它允许用户方便地创建能够在面向对象模式中的跨网络通信的客户端以及服务器应用程序。使用强大且灵活的组件库、以及用于定义以及测试服务的高级工具,RemObjectsSDK提供了使用RAD进行分布式开发的方法。RemObjectsSDK的特征以下列表概述了RemObjectsSDK的核心特征,这些特征

  • 各种加解密算法比較

    各种加解密算法比較

  • win7系统opc服务器配置,win7 设置opc服务器

    win7系统opc服务器配置,win7 设置opc服务器win7设置opc服务器内容精选换一换创建媒体处理服务配置项。媒体处理服务配置项用于媒体处理服务中获取相关授权。参数和对应说明如表1。MpcConfigmpcConfig=newMpcConfig();mpcConfig.setEndPoint(“endPoint”);//设置转码节点地址mpcConfig.setProjectId(华为云帮助中心,为用户提供产品简介、价格说明、购买…

  • 存储结构二叉树

    存储结构二叉树

发表回复

您的电子邮箱地址不会被公开。

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