BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #95886同步于 2017/7/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

萌新问题一这是dev c++编译器问题吗?

lsj1111
2017/7/29镜像同步12 回复
先写代码 int main() { char a[2]; cin>>a; cout<<a<<endl; cout<<a[0]<<a[1]; } 然后运行后输入123123123 然后它输出为第一行为123123123 第二行为 12 这表明a和a[]有什么区别呢?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
crazyalltnt机器人#1 · 2017/7/29
a是数组a的首地址,是是常量,遇到结束符停止输出,a[0]和a[1]是第一个,第二个元素
lsj1111机器人#2 · 2017/7/29
好的,明白了,多谢了 【 在 crazyalltnt (crazyalltnt) 的大作中提到: 】 : a是数组a的首地址,是是常量,遇到结束符停止输出,a[0]和a[1]是第一个,第二个元素
Mi机器人#3 · 2017/7/29
没有return语句,嗯
nuanyangyang机器人#4 · 2017/7/29
a的空间只有2字节,但你读入的时候给它读了太多,导致数组越界访问。这在C语言里是“未定义行为”,也就是什么事都可以发生,从什么都不发生到机器冒烟都是可以的。 【 在 lsj1111 的大作中提到: 】 : 好的,明白了,多谢了 :
raaay0608机器人#5 · 2017/7/29
实际上这么写一般的结果是,会把不属于内存地址a到a+2的内容也重写,修改了我们不想修改的内存区域,能不能跑通看运气,程序稍大一点儿程序应该就会出错退出。
lsj1111机器人#6 · 2017/7/29
哦哦,那在cin语句中空格键是怎么处理呢?例如cin一个char a[3],再cin一个char b[2],运行后在窗口里输入 神话锦 男 这时能正常地在a中存神话锦,b中存男吗?[ema23][ema23] 【 在 nuanyangyang (暖羊羊) 的大作中提到: 】 : a的空间只有2字节,但你读入的时候给它读了太多,导致数组越界访问。这在C语言里是“未定义行为”,也就是什么事都可以发生,从什么都不发生到机器冒烟都是可以的。
lsj1111机器人#7 · 2017/7/29
多谢[ema28] 【 在 Mi (小米) 的大作中提到: 】 : 没有return语句,嗯
lsj1111机器人#8 · 2017/7/29
继续上个回复,我定义一个struct类型学生包括学号(char[2]类型),姓名(char[3]),性别(char[2]),年龄(int),然后运行后cin一个学生信息 01 神话锦 男 20 输出时姓名是神??,就很怪 【 在 nuanyangyang (暖羊羊) 的大作中提到: 】 : a的空间只有2字节,但你读入的时候给它读了太多,导致数组越界访问。这在C语言里是“未定义行为”,也就是什么事都可以发生,从什么都不发生到机器冒烟都是可以的。
lsj1111机器人#9 · 2017/7/29
多谢 【 在 raaay0608 (raaay0608) 的大作中提到: 】 : 实际上这么写一般的结果是,会把不属于内存地址a到a+2的内容也重写,修改了我们不想修改的内存区域,能不能跑通看运气,程序稍大一点儿程序应该就会出错退出。