求解答一下-弄不懂为什么会输出这个值

问题描述

弄不懂为什么会输出这个值
/* ifdef.c -- uses conditional compilation */
#include
#define JUST_CHECKING
#define LIMIT 4

int main(void)
{
int i;
int total = 0;

for (i = 1; i <= LIMIT; i++){    total += 2*i*i + 1;

#ifdef JUST_CHECKING
printf(""i=%d running total = %dn"" i total);
#endif
}
printf(""Grand total = %dn"" total);

return 0;

}
它输出的值是这个

i=1running total=3
i=2running total=12
i=3running total=31
i=4running total=64
Grand total=64

为什么输出的不是这个呢?
i=1running total=3
i=2running total=9
i=3running total=19
i=4running total=33
Grand total=33
我用的编译器是VC6.0
这是 C primer Plus 第五版第16章 ifdef.c的例子 求解...

解决方案

total += 2*i*i + 1; 等于
total = total + 2*i*i + 1;

391933 只是2*i*i + 1的值,还需要加上上一次total的值

时间: 2024-11-17 07:57:13

求解答一下-弄不懂为什么会输出这个值的相关文章

求解答!!!java中输出顺序的问题!

问题描述 求解答!!!java中输出顺序的问题! public String work() { System.out.print("的工作理念是干活挣钱有饭吃"); return ""; } System.out.println(hanbing.getName()+hanbing.work()); 为什么输出的结果是:的工作理念是干活挣钱有饭吃韩冰 解决方案 1.work方法中的print被执行,打印输出"的工作理念是干活挣钱有饭吃" 2.然后h

求解释改程序 不懂-为什么会输出两组数据

问题描述 为什么会输出两组数据 #includeint main(){ int n,i,sum; char t; while(scanf("%d",&n)!=EOF) sum=0; for(i=0;i=97&&t<=122) sum=sum+t; else; } printf("%d ",sum); return 0;} 解决方案 不知道你程序要干嘛 但是从你的缩进看,while(scanf("%d",&n)

线程 读写-各位大侠,小弟练习写了个代码,求解答

问题描述 各位大侠,小弟练习写了个代码,求解答 为什么运行的结果不能输出">",而且当我在终端输入quit时 出现不停打印">"的死循环 代码如下: #include #include #include #include #include #include #include #include #define MAX 1024 pthread_mutex_t rwlock = PTHREAD_MUTEX_INITIALIZER; pthread_cond_

c-C(++)语言 碰到输出手法 不能搞定 求解答 (注 : 不用迭代 )

问题描述 C(++)语言 碰到输出手法 不能搞定 求解答 (注 : 不用迭代 ) 1.读取一个文件 链接起来 行,列: 2.利用这个链表,输出成员间的所有可能组合: 本人挤出的代码如下,供参考: #include "stdafx.h" #include using namespace std; class Teacher { public: char name[20]; Teacher * tnext; Teacher (char * name):tnext(tnext=NULL) {

c-C+语言 碰到输出手法 不能搞定 求解答 (注 : 不用迭代 )

问题描述 C+语言 碰到输出手法 不能搞定 求解答 (注 : 不用迭代 ) #include "stdafx.h" #include using namespace std; class Teacher { public: char name[20]; Teacher * tnext; Teacher (char * name):tnext(tnext=NULL) { strcpy(this->name,name); } void Display() { cout<<

进制之间的转换-输入为“任意进制+数值”,想输出十进制下该数的数值,但怎么也输出不对,求解答!

问题描述 输入为"任意进制+数值",想输出十进制下该数的数值,但怎么也输出不对,求解答! int main() { int i=0,j,k,s=0,d=0,n=0; int q=1; int a,b; char str1[100]; char str2[100]; int num[100]; cin>>i; gets(str1); k=strlen(str1)-2; while(k>=0) { a=getnum(str1[k]); a=a*q; s=s+a; q=q*

文件系统-这有一个Linux中我看不懂的问题,详情 看描述 求解答

问题描述 这有一个Linux中我看不懂的问题,详情 看描述 求解答 当某部主机上的 Linux 由于某些原因而无法正常进入系统时,除了可以使用 Rescue 模式进行援救之外,还可以将其硬盘挂载到另外一台主机,从而将其中重要的数据备份出来,但不管是哪种方法,我们可能都需要进入到被援救的 Linux 系统中执行某些特定指令,假设被救援的文件系统被挂载到 /mnt/sysimage,进入该 Linux 环境的指令是 解决方案 参考:http://jingyan.baidu.com/article/6

代码分析-一道Java笔试题,求解答(关于类的加载与初始化)

问题描述 一道Java笔试题,求解答(关于类的加载与初始化) 自己查了一些资料,还是看不懂这个程序的输出结果,求各位详细解释初始化和执行过程,谢! public class Alibaba { public static int k = 0; public static Alibaba t1 = new Alibaba("t1"); public static Alibaba t2 = new Alibaba("t2"); public static int i =

111-大神求解答啊,快救命啊

问题描述 大神求解答啊,快救命啊 如何用代码将excel导入到数据库中,网上给我的代码我也看不懂啊,有没有具体点的,最好像手把手教导那样,eg:上哪找代码?怎样将代码弄到eclipse中?等等 解决方案 什么数据库?excel里的数据格式规范么? 解决方案二: 什么数据库?excel里的数据格式规范么? 解决方案三: 用poi读取excel,再循环读取到数据库 http://blog.csdn.net/shuwei003/article/details/6741649 解决方案四: http:/