开发者社区> 问答> 正文

C 的scanf数组奇怪问题??

#include <stdio.h>
#include <stdbool.h>


int main(void){

    bool a = true;
    printf("bool value is %d \n", a);

    char name[2];
    scanf("%s", &name[0]);

    printf("name is %s \n", name);
    printf("char is %s", name[5]);

}

我的那个字符串长度为2.为什么可以接受很长的字符串。

比如我运行的 时候输入helloworld 那么输出printf("name is %s n", name); 可以输出helloworld 但是name[5]就会提示段错误??

展开
收起
a123456678 2016-06-08 16:09:11 1728 0
1 条回答
写回答
取消 提交回答
  • %s是一直输出到0才终止intent:#Intent;S.K_1171477665=57AC7D74F5F3A45EE3A66AF7A1EF75E6B3866417FEE80745E115483E0A37CC72;end

    2019-07-17 19:32:13
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载