| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:[求助]书上的例子有问题
取消只看楼主 加入收藏
lilulilu
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-11
收藏
 问题点数:0 回复次数:2 
[求助]书上的例子有问题
#include<stdio.h>
main()
{
char *s, m[20];
int i;
FILE *fp;
fp=fopen("test.dat", "r"); /*打开文字文件只读*/
fgets(s, 24, fp); /*从文件中读取23个字符*/
printf("%s", s); /*输出所读的字符串*/
fscanf(fp, "%d", &i); /*读取整型数*/
printf("%d", i); /*输出所读整型数*/
putchar(fgetc(fp)); /*读取一个字符同时输出*/
fgets(m, 17, fp); /*读取16个字符*/
puts(m); /*输出所读字符串*/
fclose(fp); /*关闭文件*/
getch(); /*等待任一键*/
}
这段程序有什么问题啊?
总是会报错。先是getch()报错,去掉这句。又报 fgets(s, 24, fp); 有错,说s没有初始化,怎么改?
谢谢~
搜索更多相关主题的帖子: 例子 
2006-10-11 10:12
lilulilu
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-11
收藏
得分:0 
getchar()和getch()是不同的命令啊,getch()是为了用户响应,int getch()就对了。
主要问题是*s不对,fgets(s, 24, fp);报错。s没有预定义。怎么预定义啊?
把*s换成s[100]就对了,为什么呢?

还有一个指针操作
char m[20];
int *s=m;
怎么也不对呢?

[此贴子已经被作者于2006-10-11 21:27:56编辑过]


2006-10-11 18:53
lilulilu
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-11
收藏
得分:0 
改成:
char m[20];
char *s=m;
运行可以,可是报错:
图片附件: 游客没有浏览图片的权限,请 登录注册

一直不知道这是怎么回事

[此贴子已经被作者于2006-10-11 22:32:09编辑过]


2006-10-11 22:31
快速回复:[求助]书上的例子有问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053719 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved