c经典链表程序
#include "stdio.h"
#include "malloc.h"
typedef int elemtype;
struct node
{
elemtype data;
struct node *next;
};
typedef struct node NODE;
NODE * creat(NODE *head)
{
NODE *p,*q;
elemtype i;
head=(NODE*)malloc(sizeof(NODE));
scanf("%d",&(head->data));
p=head;
while(p->data!=0)//0为结束符
{
q=(NODE*)malloc(sizeof(NODE));
scanf("%d",&(q->data));
p->next=q;
p=q;
}
p->next=NULL;
return head;
}
void printlist(NODE *head)
{
NODE *p;
elemtype i=0;
p=head;
while(p->next!=NULL)
{
printf("the %d node\n",i);
i++;
printf("%d\n",p->data);
p=p->next;
}
printf("\n");
}
void main(void)
{
NODE *my_head;
my_head=(NODE *)malloc(sizeof(NODE));
my_head=creat(my_head);
printlist(my_head);
//getch();
}
相关文档:
1、为了调用宏时能得到正确结果,在宏体中建议对宏的每个参数用括号括起来,并且当宏体是一个表达式时整个宏体也用括号括起来。
/* c1.c:将两个数相乘 */
#define product(x,y) ((x)*(y))
#include <stdio.h>
int main(){
int a=1,b=2,c=3,d=4,x=0;
x=product(a+3,b)+product(c,d); / ......
assert
函数名: assert
功 能: 测试一个条件并可能使程序终止
用 法: void assert(int test);
程序例:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
int&n ......
以前学生时代的时候就有遇到过这个问题,不过没去深究;
现在也是老问题,其实很简单,就是为了防止#include两个头文件的时候,把第一个头文件的最后一行和 第二个头文件的第一行拼接成一行;呵呵,其实很多问题都很简单,而且很隐蔽,只是我们很多时候没去注意! ......
在项目属性页 --> 配置属性 --> C/C++ --> 输出文件里面,将汇编输出的下拉列表从无列表选择为你需要汇编输出的内容,比如“仅列出程序集(/FA)”,如图1-1,图1-2:
图1-1
图1-2
------------------------------------------------------------------------------------------------ ......
n 用标识符代表一个常量,称为符号常量。 n 符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值。 n 使用符号常量的好处是: Ø 含义清楚; Ø 能做到“一改全改”。 --话说:不知道c里面有没有全局变量的东东,有的话,这两个的实际用处有啥子区别呢?看看再说 数据结构+算法=程序 终于知道这 ......