格式转换符%s与%c的区别
教材上的一段源代码:#include<stdio.h>#include<stdlib.h>intmain(){charstring1[20];charstring2[]=...
教材上的一段源代码:#include <stdio.h>
#include <stdlib.h>
int main()
{
char string1[ 20 ];
char string2[] = "string literal";
int i;
printf("Enter a string:");
scanf("%s",string1);
printf("string1 is : %s\nstring2 is :%s\n""string1 with spaces between characters is :\n",string1,string2);
for ( i = 0; string1[ i ] != '\0';i++) {
printf("%c ", string1[ i ] );
}
printf("\n");
system("pause");
return 0 ;
}
这里格式转换符%s与%c的区别是什么啊?
那
我把后面
的
%c
换成%s
咋不对啊“?!?!?!!!!!!!
着急!! 展开
#include <stdlib.h>
int main()
{
char string1[ 20 ];
char string2[] = "string literal";
int i;
printf("Enter a string:");
scanf("%s",string1);
printf("string1 is : %s\nstring2 is :%s\n""string1 with spaces between characters is :\n",string1,string2);
for ( i = 0; string1[ i ] != '\0';i++) {
printf("%c ", string1[ i ] );
}
printf("\n");
system("pause");
return 0 ;
}
这里格式转换符%s与%c的区别是什么啊?
那
我把后面
的
%c
换成%s
咋不对啊“?!?!?!!!!!!!
着急!! 展开
推荐于2016-04-14 · 知道合伙人教育行家
关注
展开全部
%s 是输出一个字符串(可以由多个字符或者一个字符组成)。
%c是输出一个字符。
printf(“格式控制字符串”, 输出表列)
其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。
类型字符用以表示输出数据的类型,其格式符和意义如下:
d 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀0)
x,X 以十六进制形式输出无符号整数(不输出前缀Ox)
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e,E 以指数形式输出单、双精度实数
g,G 以%f或%e中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符串
例如:
//参考代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
char c, s[20];
strcpy(s, "Hello,World");
c='A';
printf("c=%c\n", c); //输出字符 c=A
printf("s[]=%s\n", s);//输出数组字符串s[]=Hello,World
return 0;
}
展开全部
%c表示单个字符,%s表示字符串,由多个字符组成
当然不对了,string1[i]就是字符串string1[20]中下标为i的“字符”而不是“字符串”,所以应该用%c。
for ( i = 0; string1[ i ] != '\0';i++) {
printf("%c ", string1[ i ] );
}
意思就是用for循环依次一个一个地输出string1中的“字符”,'\0'表示字符串结束符,由系统自动添加,记住下标从0开始。而不是1,所以i=0
当然不对了,string1[i]就是字符串string1[20]中下标为i的“字符”而不是“字符串”,所以应该用%c。
for ( i = 0; string1[ i ] != '\0';i++) {
printf("%c ", string1[ i ] );
}
意思就是用for循环依次一个一个地输出string1中的“字符”,'\0'表示字符串结束符,由系统自动添加,记住下标从0开始。而不是1,所以i=0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%s 是字符串 用sccnf可以接n个字符
%c是字符 只能接受一个
%c是字符 只能接受一个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |