1. 首页 > 科技

C为什么运行出来结果不对呢?才学 不要太深奥 就这源码错误的原因就可以了 谢谢(求大神指教一下, 为什么这个C语言程序运行出来的结果很不对)

C为什么运行出来结果不对呢?才学 不要太深奥 就这源码错误的原因就可以了 谢谢(求大神指教一下, 为什么这个C语言程序运行出来的结果很不对)

求大神指教一下, 为什么这个C语言程序运行出来的结果很不对

printf("值为%d",&a);

//这样就输出的是a的地址,去掉&

用C语言编程程序没有错误为什么结果不对

程序可以运行并不表示程序就是正确的

编译和连接都正确,只能说明编译器对他进行语法等检查

没发现他的错误而已,而既然运行结果是错误的,那就是说明一点

可能是你的算法设计的不当,不能正确的解决问题,这样发生的错误

是运行期错误,在编译连接的过程不会出错的,不过幸好,编译器也为我们

提供了一些解决类似运行期错误的一些调试工具,通过debug,进行单步调

试下,观察变量值,看看是不是你想要的等等解决此类问题,具体如何单步

调试见下面:

不过你先要设置断点,然后按下面操作

在VC++6.0中的单步调试:

调试重要的几个键:

F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点.

F5调试状态运行程序,程序执行到有断点的地方会停下来.

F10单步执行程序.

CTRL+F10运行到光标所在行.

F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面.

SHIFT+F11跳出当前所在函数.

步骤:

1,保存为c或c++文件

2,根据断点调试找到错误处。

3,采用F10或F11单步调试找到精确的错误处。其中f10是跳过函数盗用,f11是进入函数体调试。一般是先用f10,确定函数输入输出是否正确(与自己想的一样),如不一样,则用f11进入函数体一步一步调试。

4,在调试过程中,肯定得监视程序中的变量。在vc6.0的右下角有一个watch窗口,专门用来设置监视变量。具体怎样设置自己体会吧。在调试过程中,鼠标轻轻放在变量上也会显示该变量的值

5,vc6.0专门为调试设置了工具箱以方便调试的进行,打开的方法如下。右键——〉在debug(或调试)选择项的勾勾上。ok

这个C程序哪里不对?为什么结果不对?

楼主写稍微复杂了一点,你看我帮你改的代码.

#include <stdio.h>

void main()

{

char string[81];

int i,num=1;

char c;

gets(string);

for(i=0;(c=string[i])!='\0';i++)

if(c==' ') //注意这里是'空格'

num++;

else if(num==0)

num=1;

printf("There are %d words in the line.\n",num);

}

c程序编译没有问题但是运行结果不对,求大神指点!

没太明白程序的目的(比如单纯是训练语法之类的),感觉就目前实现的功能来看太啰嗦了。

言归正传,发现以下问题:

1、所有累加器变量都没有初始化为0,这将得到不可预知的结果。具体指fun中的p和sum中的t

2、for语句里面已经写了i++或j++,循环体内部又写了一遍,不知是否有意为之。若的确希望奇数项相加,不妨直接写

for( j=1; j<=n; j+=2 );若不是,删去循环体内的循环变量自加。

供参考