C语言,printf自动换行问题:求网友指点!
#include<stdio.h>#include<stdlib.h>typedefstructnode{intdata;structnode*next;}NODE;NO...
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node*next;
}NODE;
NODE *crea_linkstack()
{
NODE*top,*p;
int a,n;
top=NULL;
printf("输入要输入链栈的节点数:");
scanf("%d",&n);
printf("输入数据:");
if(n>0)
{
while(n)
{
scanf("%d",&a);
p=(NODE*)malloc(sizeof(NODE));
p->data=a;
p->next=top;
top=p;
n--;
}
}
return top;
}
NODE *popstack(NODE*top,int*y)
{
NODE*p;
if(top!=NULL)
{
p=top;
*y=top->data;
top=top->next;
free(p);
}
return top;
}
NODE *insert(NODE*top,int x)
{
NODE*p;
p=(NODE*)malloc(sizeof(NODE));
p->data=x;
p->next=top;
top=p;
return top;
}
void show(NODE*top)
{
NODE*p;
p=top;
if(p)
{
printf("输出栈:");
while(p)
{
printf("%d ",p->data);
p=p->next;
}
}
else
printf("栈空\n");
}
void main()
{
NODE*a;
int x=0,n=0;
a=crea_linkstack();
show(a);
printf("输入要出栈的个数:");
scanf("%d",&n);
if(n>0)
{
while(n>0)
{
a=popstack(a,&x);
printf("%d ",x);
n--;
}
}
printf("输入要插入的个数:");
scanf("%d",&n);
if(n>0)
{
while(n>0)
{
scanf("%d",&x);
a=insert(a,x);
n--;
}
}
show(a);
printf("\n");
}
想请教下大家:是不是在同一个函数中:printf("a”),printf("b");a,b自动换行!而在不同函数中printf("a")(此语句在A函数);printf(“b”)(此语句在B函数中);这两个不会自动换行? 展开
#include<stdlib.h>
typedef struct node
{
int data;
struct node*next;
}NODE;
NODE *crea_linkstack()
{
NODE*top,*p;
int a,n;
top=NULL;
printf("输入要输入链栈的节点数:");
scanf("%d",&n);
printf("输入数据:");
if(n>0)
{
while(n)
{
scanf("%d",&a);
p=(NODE*)malloc(sizeof(NODE));
p->data=a;
p->next=top;
top=p;
n--;
}
}
return top;
}
NODE *popstack(NODE*top,int*y)
{
NODE*p;
if(top!=NULL)
{
p=top;
*y=top->data;
top=top->next;
free(p);
}
return top;
}
NODE *insert(NODE*top,int x)
{
NODE*p;
p=(NODE*)malloc(sizeof(NODE));
p->data=x;
p->next=top;
top=p;
return top;
}
void show(NODE*top)
{
NODE*p;
p=top;
if(p)
{
printf("输出栈:");
while(p)
{
printf("%d ",p->data);
p=p->next;
}
}
else
printf("栈空\n");
}
void main()
{
NODE*a;
int x=0,n=0;
a=crea_linkstack();
show(a);
printf("输入要出栈的个数:");
scanf("%d",&n);
if(n>0)
{
while(n>0)
{
a=popstack(a,&x);
printf("%d ",x);
n--;
}
}
printf("输入要插入的个数:");
scanf("%d",&n);
if(n>0)
{
while(n>0)
{
scanf("%d",&x);
a=insert(a,x);
n--;
}
}
show(a);
printf("\n");
}
想请教下大家:是不是在同一个函数中:printf("a”),printf("b");a,b自动换行!而在不同函数中printf("a")(此语句在A函数);printf(“b”)(此语句在B函数中);这两个不会自动换行? 展开
展开全部
printf("\n");这个语句输出的是换行,printf自己不会换行的,和在哪里无关。
追问
追答
程序分输入和输出,在你现在用的这个环境,输出和输入在一起,那个换行是输入,是你打上去的字符和第一“5”一样,不是程序的输出。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |