预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言字符串的输入输出C语言字符串的输入输出C语言适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。那么大家知道C语言字符串的输入输出是怎样的呢?下面一起来看看!字符串的输出在C语言中,输出字符串的函数有两个:puts():直接输出字符串,并且只能输出字符串。printf():通过格式控制符%s输出字符串。除了字符串,printf()还能输出其他类型的数据。这两个函数前面已经讲过了,这里不妨再演示一下,请看下面的代码:#includeintmain(){inti;charstr[]="http://c.biancheng.net";printf("%s",str);//通过变量输出printf("%s","http://c.biancheng.net");//直接输出puts(str);//通过变量输出puts("http://c.biancheng.net");//直接输出return0;}运行结果:http://c.biancheng.nethttp://c.biancheng.nethttp://c.biancheng.nethttp://c.biancheng.net在printf()函数中使用%s输出字符串时,在变量列表中给出数组名即可,不能写为printf("%s",str[]);。字符串的输入在C语言中,输入字符串的函数有两个:scanf():通过格式控制符%s输入字符串。除了字符串,scanf()还能输入其他类型的数据。gets():直接输入字符串,并且只能输入字符串。1)使用scanf()读取字符串请先看下面的例子:#includeintmain(){charstr1[30],str2[30];printf("Inputstr1:");scanf("%s",str1);printf("Inputstr2:");scanf("%s",str2);printf("str1:%sstr2:%s",str1,str2);return0;}运行结果:Inputstr1:c.biancheng.net↙Inputstr2:JavaPythonC-Sharp↙str1:c.biancheng.netstr2:Java由于字符数组长度为30,因此输入的字符串长度必须小于30,以留出一个字节用于存放字符串结束标志``。对程序的说明:①我们本来希望将"JavaPythonC-Sharp"赋值给str2,但是scanf()只读取到"Java",这是因为scanf()读取到空格时就认为字符串输入结束了,不会继续读取了。请看下面的例子:#includeintmain(){charstr1[20],str2[20],str3[20];printf("Inputstring:");scanf("%s",str1);scanf("%s",str2);scanf("%s",str3);printf("str1:%sstr2:%sstr3:%s",str1,str2,str3);return0;}运行结果:Inputstring:JavaPythonC-Sharp↙str1:Javastr2:Pythonstr3:C-Sharp第一个scanf()读取到"Java"后遇到空格,结束读取,将"PythonC-Sharp"留在缓冲区。第二个scanf()直接从缓冲区中读取,不会等待用户输入,读取到"Python"后遇到空格,结束读取,将"C-Sharp"留在缓冲区。第三个scanf()读取缓冲区中剩下的.内容。关于缓冲区的知识,我们在《C语言缓冲区(缓存)详解》《结合C语言缓冲区谈scanf()函数》两节中已经进行了详细讲解。②在《从键盘输入数据》中讲到,scanf的各个变量前面要加取地址符&,用以获得变量的地址,例如:inta,b;scanf("%d%d",&a,&b);但是在本节的示例中,将字符串读入字符数组却没有使用&,例如:charstr1[20],str2[20],str3[20],str4[20];scanf("%s%s%s%s",str1,str2,str3,str4);这是因为C语言规定,数组名就代表了该数组的地址。整