大佬教程收集整理的这篇文章主要介绍了C可能的编程谜团?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这个神秘的代码给了我随机输出.这是一个猜测你输入的数字的程序.相反,当你输入一个随机数并点击输入时,它会给你一些错误和YF等东西.通过测试代码自己尝试一下.如果您输入1并按Enter键,您将打印出我们的号码.
>我们的号码是
>你的号码是
> r号是
>数字是
>数字是
还有一些更奇怪的,如果你输入666你会得到:e :: _ S_normalize_catory catory not found,如果输入333☻将打印出来.
还有更多.有些数字是空白的,但有些则不是.
有人可以告诉我为什么会这样!
@H_801_5@cout << "Your number is" + guess;
至
@H_801_5@cout << "Your number is " << guess;
在C中,向字符串文字添加数字不会将数字转换为字符串;它完全做了别的事情(指针算术).
有关C和C中指针算术的背景,请参见Everything you need to know about pointers in C(尤其是last section about strings).
你的程序打印出有趣字符串的原因是,一旦猜测变得足够大,“你的数字是”猜测指向字符串文字结束后的某些内存,程序会打印出该内存中发生的任何内容. (从技术上讲,你处于undefined behaviour的领域,因此你的程序可以以各种奇怪的方式合法地运行.)
以上是大佬教程为你收集整理的C可能的编程谜团?全部内容,希望文章能够帮你解决C可能的编程谜团?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。