这个C程序错在哪里

[复制链接]
查看11 | 回复5 | 2012-4-16 22:58:19 | 显示全部楼层 |阅读模式
程序没错,只是要注意输入的字符串不要超过三个当第一行字符串为四个字符时,会自动连接第二行,因为没有'\0'结束符,其他的也以此类推一行输入五个或以上字符则会数组越界,报错...
回复

使用道具 举报

千问 | 2012-4-16 22:58:19 | 显示全部楼层
程序应该没有什么错误,只是有需要注意的地方在定义变量时数组a为2维,第二维空间为4,也就是说要输入三个字符串的话,每个字符串输入时不能大于3个(四个空间,最后一个要存放字符串的结束符'\0'),在输入过程中如果输入的字符超过了三个可能会出现不可知的错误(赋值超过下标,会占用不可知空间地址造成错误),不知道你所谓的错误是不是指这里!!希望对你有帮助,呵...
回复

使用道具 举报

千问 | 2012-4-16 22:58:19 | 显示全部楼层
不是没什么问题吗 你是不是输入的时候超过了4个字符 如果是这样是数组越界了...
回复

使用道具 举报

千问 | 2012-4-16 22:58:19 | 显示全部楼层
呵呵,天生晕c!运行错误,有可能是堆栽溢出,不懂瞎猜的!...
回复

使用道具 举报

千问 | 2012-4-16 22:58:19 | 显示全部楼层
你创建了三个字符串,每个字符串由应由不超过三个字符和一个'\0'构成,输出每个字符串时遇到'\0'终止,所以如果输入的字符串超过三个字符,就会占掉该字符串'\0'的位置,输出时由于需要'\0'作为终止的标志,所以输出的字符串长度会超出预期~...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行