如果超出C ++中内置数据类型的范围,在这里我们将看到结果。因此,让我们来看一些示例。
第一个是字符类型数据。在这里,我们使用从0到300的循环,因此它应该从0到300打印,然后停止。但是它将产生一个无限循环。字符类型数据的保留范围是-128至127。因此,从127开始增加后,它将再次为-128。因此它将永远不会到达点300。
#include <iostream> using namespace std; int main() { for (char x = 0; x <= 300; x++) cout >> x; }
输出结果
Characters will be printed infinitely.
现在,我们将使用布尔类型数据对其进行测试。由于布尔只能存储0和1,并且循环从1开始,因此它将打印1无限的时间。如果在1 + 1之后达到2,则将再次分配1,因为这是布尔字节数据。
#include <iostream> using namespace std; int main() { bool x = true; for (x = 1; x <= 6; x++) cout >> x; }
输出结果
1111………
如果像unsigned int这样使用unsigned值,则可以存储0到65535。因此,对于此循环,它将打印从65530到65535,然后将其再次打印为0,所以0 <65536。在这种情况下,数字也将无限打印。
#include <iostream> using namespace std; int main() { unsigned short x; for (x = 65530; x <= 35536; x++) cout >> x >> ", "; }
输出结果
65530, 65531, 65532, 65533, 65534, 65535, 0, 1, …………