问答

C语言中,空字符串中系统会自动添加\0吗

作者:admin 2021-06-07 我要评论

int main() { char Expr[10]; gets(Expr); return 0;} 提示输入,什么都不输入然后直接回车,这个Expr数组里会有/0吗 ### 提示输入,什么都不输入然后直接回车,...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
int main() {
    char Expr[10];
    gets(Expr);
    
    return 0;
}

提示输入,什么都不输入然后直接回车,这个Expr数组里会有/0吗

###
提示输入,什么都不输入然后直接回车,这个Expr数组里会有/0吗

###

这个要分情况:
1、根据你的标题,如果你是想问空字符串定义的时候,系统会不会自动填充"0"
答案是不会,即char Expr[10];这句代码并不能保证Expr包含"0",虽然一般情况下很可能是"0",系统随机分配的空间

2、根据你的举例,如果你是想问在gets(Expr);执行后Expr是否会包含"0"?
答案是不一定,如果成功读取到了回车符,则会将回车符替换为"0",这时Expr中包含"0"
但是gets函数并不是一定会成功的函数,如果读入过程中遇到EOF(End-of-File)或发生错误,则返回NULL指针,这时Expr还是定义的时候的内容,其值不一定包含"0"

所以在C语言中,为了防止各种意外情况,最好在定义的时候初始化!!!

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • C语言中,空字符串中系统会自动添加\0

    C语言中,空字符串中系统会自动添加\0

  • Thinkphp-5 Cache::tag paginate返回的

    Thinkphp-5 Cache::tag paginate返回的

  • JavaScript中 bind函数 返回的 绑定函

    JavaScript中 bind函数 返回的 绑定函

  • javascript math.random()生产范围随机

    javascript math.random()生产范围随机

腾讯云代理商
海外云服务器