| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 756 人关注过本帖
标题:看看这个SCANF输入的东西为什么输出错误
只看楼主 加入收藏
tcxiang
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-10-14
收藏
 问题点数:0 回复次数:5 
看看这个SCANF输入的东西为什么输出错误

#include <stdio.h>
#include <stdlib.h>

typedef struct {
char data;
int num;}elemtype;

typedef struct {
elemtype *top,*base;
}sqstack;

sqstack s;

void init()
{
s.top =( elemtype*) malloc ( 10*sizeof(elemtype));
s.base = s.top;
}

void main()
{
elemtype e;int i;
init();
for(i=0;i<2;i++)
{scanf("%c,%d",&(s.top->data),&(s.top->num));s.top++;}
printf(" %c-->%d",s.top->data ,s.top->num);
}

搜索更多相关主题的帖子: SCANF 输出 输入 
2007-10-22 17:17
风的声音
Rank: 1
等 级:新手上路
帖 子:128
专家分:0
注 册:2007-3-27
收藏
得分:0 
怎么会没有错??你的s变量是什么类型??没有定义。
还有,你的init()明明是初始化一个栈,可是函数执行完之后什么都没有留下;你至少应该用一个引用把你初始的栈返回吧??问题太多,再仔细看看

一念心清净,莲花处处开。 一花一净土,一土一如来。
2007-10-22 21:36
tcxiang
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-10-14
收藏
得分:0 
我定义了S是外部变量..
外部变量可以不用做参数传递到INIT()的..
麻烦你看清楚点再说..

2007-10-22 23:20
wudong8866
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-10-9
收藏
得分:0 
你的TOP++后是什么啊,
{scanf("%c,%d",&(s.top->data),&(s.top->num));s.top++;}
printf(" %c-->%d",s.top->data ,s.top->num);
指向的是栈顶,并不是你刚刚存放数据的单元!

2007-10-23 08:36
zxc1998
Rank: 1
等 级:新手上路
威 望:1
帖 子:133
专家分:0
注 册:2007-3-21
收藏
得分:0 
s.top指向的始终都是空的;你输出的时候,输出s.base试试,就知道了
2007-10-23 21:06
andself
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-9-23
收藏
得分:0 
恩 啊 s.top 指向的是 栈顶 用栈底的指针 开始输出
我是这么想的 不知道 对不对

2007-10-23 22:47
快速回复:看看这个SCANF输入的东西为什么输出错误
数据加载中...
 
   



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

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