C语言.字符数组和整型赋值注意事项:关于scanf()、gets()

本文讨论了字符数组`gets()`的特性,如何避免因空格导致的接收问题,并强调了使用`scanf`时的输入规范。同时,介绍了整型数组赋值时的注意事项。重点在于处理输入边界和正确使用相应函数以确保数据安全和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符数组:

char a[5] = {0};
gets(a);

用gets(a)接收字符串:它会把空格也接收作为字符,而scanf一次接收一个,且空格也接收,会影响后面的字符
但要注意:a大小为5,你只能传4个字符,传入5,如下图会报错,因为默认会接收字符串,而字符串以\0结尾。
请添加图片描述

当用scanf接收字符数组时:
输入一行之间别加空格, 因为scanf会把\n和空格也作为字符,可以单独加入:getchar();算是丢弃掉。
不加空格,只输入一行时,要几个字符,char a[] 就开辟几个空间,不会报错,但只是挨个输出不会报错,如果你以printff(“%s”)输出时,因为系统以为你要输出字符串,但是你的字符数组a中没有以\0结尾,就会不断向后找,结果会出错

请添加图片描述
整型数组赋值:
不必在意\n,直接赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值