易截截图软件、单文件、免安装、纯绿色、仅160KB

一个非常简单的C程序的运行结果

#include <stdio.h>
main()
{
int a,b,sum;
a=1;b=2;
sum=a+b;
printf("sum is %d\n");
}


结果是:2367460

为什么?
printf("sum is %d\n",sum);

结果是不确定的……

仅仅是在调试之后把printf("sum is %d\n",sum)改了一下,很久没用过C了,想不起来为什么结果会是:2367460

a和b尝试着赋过其他值,结果还是:2367460

有意义么

引用
有意义么


没意义,就是没想通

可能是系统随机打印出来的,固定地跟电脑系统有关,也许换台电脑会固定为另外一个值。


sum变量没初始化,是随机的

实际上它print的是字符串常量指针后面的一个4byte的内存吧。。

引用
实际上它print的是字符串常量指针后面的一个4byte的内存吧。。

是从stack那里pop出来的一个4byte的东西……

引用
引用 8 楼 garfield 的回复:
实际上它print的是字符串常量指针后面的一个4byte的内存吧。。

是从stack那里pop出来的一个4byte的东西……


呃,我说的后面是阅读顺序,然后内存的确是取stack。。是push的字符串前stack顶的内容,是这个意思。
按照脑子里的说了,没表达清楚。
不过它不是pop出来的,是根据EBP算出来的,哈~

那要怎么改呢?

这是系统里存在的数,大概要把sum初始化。

printf("sum is %d\n");


相关问答:

jsp中 <c:if test> 相关问题

在查询后将查询出来的值赋给各输入框
<c:if test="${not empty dataValue}">
      fm.SAMPLING_DATE.value=" <c:out value='${dataValue.SAMPLING_DATE}'/ ......

为什么C写DLL文件C、PB能调用VB不能调用

为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?

1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......

C 程序问题 (二) - C/C++ / C语言

问一下:
#include <stdio.h>
int main()
{
  char x, y, z;
  int i;
  int a[16];
  for(i=0; i<=16; i++)
  {
  a[i] = 0;
  ......

你们现在还在用C吗?C有前途吗?

你们现在还在用C吗?C有前途吗?
一定,并永远坚持

引用
一定,并永远坚持



有用。

楼主何出此言

楼主来c版问这个问题是踢馆用意吗哈哈

越来越冷是肯定的,完全淘汰倒也没那么容易

c ......

请C/C++高手进,请教!

功能是实现字符串的翻转,不知道哪里有错误,请指教
#include <iostream>
#include <stdio.h>

using namespace std;
void reverse()
{
char ch;
scanf("%c",ch) ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号