C语言 字符串数组
#includevoidmain(){inti,n;charp[100];scanf("%d",&n);for(i=0;i{scanf("%c",&p[i]);}for(...
#include void main() { int i,n; char p[100]; scanf("%d",&n); for(i=0;i { scanf("%c",&p[i]); } for(i=0;i { printf("%c",p[i]); } } 输入多个字符,却只能输出一个字符,不知道问题出在哪了,请指教!
展开
2个回答
展开全部
字符串输出在遇到'\0'字符前不会停
char*
p
=
"123\0456";
printf(p);
//
输出123
p[3]
=
'&';
printf(p);
//
输出123&456
你代码里为什么那样是因为多位数组的存储空间是连续的
两句strcpy后arr数组是变这样
you.me.?
其中.代表空字符,?是未使用的空间
char*
p
=
"123\0456";
printf(p);
//
输出123
p[3]
=
'&';
printf(p);
//
输出123&456
你代码里为什么那样是因为多位数组的存储空间是连续的
两句strcpy后arr数组是变这样
you.me.?
其中.代表空字符,?是未使用的空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询