当前位置: 代码迷 >> C语言 >> 清华谭浩强《C程序设计》例题有错?
  详细解决方案

清华谭浩强《C程序设计》例题有错?

热度:475   发布时间:2004-12-25 15:48:00.0
清华谭浩强《C程序设计》例题有错?

清华大学出版社 谭浩强《C程序设计》第二版 138页

目的:

实现算出键盘输入单词总数(有间隔),下面的程序总是得“1”不知怎么回事?(用TURBO C 3。0 FOR WINDOWS )

#include <stdio.h> main() { char string[81]; int i,num=0,word=0; char c; gets(string); for(i=0;(c=string[i])!='\0';i++) if(c=='') word=0; else if(word==0) { word=1; num++; } printf("there are %d words in the line.\n",num); }

[此贴子已经被作者于2004-12-25 15:54:04编辑过]

搜索更多相关的解决方案: C程序设计  谭浩强  清华  例题  num  

----------------解决方案--------------------------------------------------------
if(c==' ') word=0;//    '   '  之间有个空格
----------------解决方案--------------------------------------------------------

编程就是这样一个空格也会让你运行不出结果,不过要用好我们的编译工具,因为它给你指出了哪一行有错误,用心的检查哪一行没错的!

[此贴子已经被作者于2004-12-25 16:03:01编辑过]


----------------解决方案--------------------------------------------------------

加了空格,仍然不行! 有时出现反常的结果

编译出错提示: 在第8行 非可移动指针转换 在函数

for(i=0;(c=string[i])!='\0';i++) /第8行

但看了没错啊。。。

非常奇怪,


----------------解决方案--------------------------------------------------------

第8行没有问题。

推荐使用WIN-TC,在WINDOWS下操作很方便。可以复制、粘贴。


----------------解决方案--------------------------------------------------------

谢谢了,我就是用的 TURBO C 3.0 FOR WINDOWS

不过,我也觉得它有点问题,有时明明语法没问题,他说有问题,有时又好了,

要不麻烦给我传一个好用的?


----------------解决方案--------------------------------------------------------

在wintc下运行没问题。

谭浩强《C程序设计》第二版上的例题有不少错误,不过都是小错误。


----------------解决方案--------------------------------------------------------

lpanguan你好啊! 女孩学电脑不容易呀, 向你致敬!

,,,加你好友,好吗?


----------------解决方案--------------------------------------------------------
非常感谢!

非常感谢! 照你们说的,下了个WIN-TC,解决问题, 但又重新在我的TURBO C 3.0 FOR WINDWOS上保存了一下,也可以了,不知道哪里出了问题,害的我弄了半天..

[此贴子已经被作者于2004-12-26 02:25:21编辑过]


----------------解决方案--------------------------------------------------------

楼主 你这个程序通过了吗

按你上面程序的意思就是遇到空格后面在遇到字符num才加一 这不是你的本意吧

做了点修改

#include <stdio.h> main() { char string[81]; int i,num=0,word=1; char c = NULL; gets(string); for(i=0;(c=string[i])!='\0';i++) { if(c==' ') word=0; if(word==1) { num++; } word=1; } printf("there are %d words in the line.\n",num); getch(); }

你在试试

[此贴子已经被作者于2004-12-26 11:48:57编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案