wy乐逍遥 2013-08-11 05:04
浏览 932

关于scanf指令跳过执行的问题。单步调试时正确的 。纠结好长时间

运行前两步是正确的,第三步就不正确了我用的是vi 编辑器 调试gdb
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef int TElemType;
typedef int Status;
`
typedef struct BiTNode
{
TElemType data;

struct BiTNode lchild,*rchild;
}BiTNode,*BiTree;
int i=0;//用来测试递归的层
Status CreateBiTree(BiTree *T)

{
i++;
printf("The%d level\n", i);

char ch;
scanf("%c",&ch);

setbuf(stdin,NULL);//用来清空输入缓存的数据

if(ch==' ')
(*T)=NULL;
else
{
if(!(*T=(BiTNode
)malloc(sizeof(BiTNode))))
exit(0);
(*T)->data=ch;

CreateBiTree(&((*T)->lchild));
CreateBiTree(&((*T)->rchild));
}
return 1;
}
void main()
{
BiTree root;
CreateBiTree(&root);
printf("success");

}
`

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿
    • ¥15 回答4f系统的像差计算