未初始化为0时的有趣值

时间:2017-11-29 06:35:17

标签: c gcc initialization codeblocks kernighan-and-ritchie

我有以下代码,它应该在一个单独的行上显示每个输入字。对于踢球,我放置了一个<!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.min.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.34.9/css/bootstrap-dialog.min.css" rel="stylesheet" type="text/css" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.34.9/js/bootstrap-dialog.min.js"></script> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> <title>Tabindex</title> <meta charset="utf-8" /> </head> <body> <script type="text/javascript"> $(function () { var dialog = new BootstrapDialog({ message: 'Custom tabindex.', tabindex: 10, modal: false, title: 'Modeless draggable dialog', draggable: true, animate: false }); dialog.open(); }); </script> </body> </html> 来显示每个单词后的单词计数,以确保我理解逻辑。

printf

此图中显示了此输出。出于某种原因,如果没有将wordcount变量初始化为0,则从9开始。

Wordcount variable gets set to 9 when it is not initialized to 0

将wordcount变量初始化为0(只是在int声明语句中设置wordcount = 0)时,一切都按预期工作:

Wordcount variable is correct when initialized to 0

有人可以向我解释这里发生了什么吗?这与这些变量如何存储在内存中有关吗?试图了解发生了什么。谢谢!

1 个答案:

答案 0 :(得分:0)

如果你初始化一个变量,它会得到一个&#34;随机的&#34; (未使用的)在RAM中分配,如果已经写入了某些内容,则变量会将此值用于自身。

这就是你总是声明变量的原因。

后端有点复杂,但这就是&#34;简单&#34;解释