字符传数组的输入与输出,为什么出错了?

其实我就是想输入字符串(中文,1个字或者2个字),然后输出(中文)用指针的方法一个个输出... 其实我就是想输入字符串(中文,1个字或者2个字),然后输出(中文) 用指针的方法一个个输出 展开
 我来答
百度网友2018359
2016-05-25 · TA获得超过3494个赞
知道大有可为答主
回答量:3486
采纳率:73%
帮助的人:1443万
展开全部

汉字占2个字符, 也就是说一个汉字实际上是一个长度为2的字符串, 

另外最后要留一个字符放置'\0',  输出的时候才知道字符串应该在这里结束

	char *p,a[5][3];
int i;
printf("input:\n");
for(i=0;i<5;i++)
{
scanf("%s",a[i]);
a[i][2]='\0';
}
printf("\n\noutput:\n");
for(i=0;i<5;i++)
{
printf("%s\n",a[i]);
}
更多追问追答
追问
只能满足第一个汉字输出,如果我输入的都是3个汉字呢
追答
就用字符串数组, 记得末尾加'\0'
White_MouseYBZ
2016-05-25 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6697万
展开全部

这样写才对:

int main(){
    char a[50];
    printf("请输入:\n");
    scanf("%s",a);
    printf("%s\n",a);
    printf("请输入:\n");
    scanf("%s",a);
    printf("%s\n",a);
    printf("\n");
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式