C链表问题
我输入1 但输出不是1 问一下我哪错了?主要是参数的传递出错了吧 但我怎么也看不出来 我的是地址传递
#include "stdio.h"
typedef int type;
typedef struct lnode
{
type elem;
struct lnode *next;
}linklist;
void creatlist(linklist *l)
{
l=(linklist*)malloc(sizeof(linklist));
scanf("%d",&(l->elem));
}
void main()
{
linklist l;
creatlist(&l);
printf("%d",l.elem);
}
#include "stdio.h"
#include "malloc.h"
typedef int type;
typedef struct lnode
{
type elem;
struct lnode *next;
}linklist;
void creatlist(linklist* &l)
{
l=(linklist*)malloc(sizeof(linklist));
scanf("%d",&(l->elem));
}
void main()
{
linklist *l;
creatlist(l);
printf("%d",l->elem);
}
虽然你传了地址进去,但是你却在那里另外申请了空间,并把数字写到那个里面去了。而输出的却是原来那个空间的elem.
去掉malloc就应该对了
C/C++ code:
#include "stdio.h"
typedef int type;
typedef struct lnode
{
type elem;
struct lnode *next;
}linkl
相关问答:
在查询后将查询出来的值赋给各输入框
<c:if test="${not empty dataValue}">
fm.SAMPLING_DATE.value=" <c:out value='${dataValue.SAMPLING_DATE}'/ ......
#include <string.h>
#include <stdio.h>
void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......
#include <stdio.h>
#include <graphics.h>
void main()
{
int x0,y0,x1,y1,driver,mode,i;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,&qu ......
有16匹马,共3个跑道,找出其中跑的最快的4匹马出来,设计算法。
没听懂什么意思.
我的思路:
从16匹马中,先任选3匹比赛,淘汰最慢的二匹,再从剩下的14匹马中任选3匹比赛,递归,得出最快的前4 ......
问一下:
#include <stdio.h>
int main()
{
char x, y, z;
int i;
int a[16];
for(i=0; i<=16; i++)
{
a[i] = 0;
......