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没问题啊,但编译javah生成的就报错:
gcc -O0 -g3 -Wall -c -fmessage-length=0 -oHelloWorld.o ..\HelloWorld.c
gcc -otest.exe HelloWorld.o
d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../. ......
编写程序detab, 将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位。
------------------- ......
想知道每条指令或函数的系统消耗。比如系统执行int a=0;的开销是多少。有没有类似的文档之类的。不要和我说用什么clock()函数来测试。我想要相关总结好的文档
先反汇编,然后拿着cpu的指令手册查每条指令的时间周期 ......
我网络工程专业的,将来想做网络安全这块,现在C基本上的东西明白了,可是接下来就不知道怎样去学习C语言了,是看数据结构还是继续编C ?请前辈,师兄给个建议,活着推荐店书目,很希望找到一条合适的路走下去!
......