c语言 为什么这边会有乱码

c语言 为什么这边会有乱码如图 最后 那一串乱码是怎么回事?

第1个回答  2017-05-06
你这个程序能编译通过已经是奇怪的事情了;
错误如下:
1:char c[n]; 按理说数组的定义只能用常量下标;
2:str[i]=getchar() 循环体又i++;这个到底什么鬼?
对于这里,计算机是这样理解的;他读到你输入的一个a以后,把存入到数组的下标为97的位置(已经越界,运气不好直接错误,运气好乱码),然后执行++,然后继续;一直到访问到有权限的内存位置为止,弹出错误; 或者是在内存中有'\n'字符存在,循环结束;
假设运气好,即内存中有'\n'字符的存在,属于"正常中断循环"但是这个时候str[i]='\0'已经不知道i具体的值了;
第2个回答  2017-05-06
变量i未初始化,是不确定的值

~~~~~~~~~~~~~~
第3个回答  2017-05-06
你主函数里的i没有初值。所以i是系统赋值,导致后面有乱码,你把i赋值0试试。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网