|
问题一:
一段简单的程序(关于输入)有问题,想不明白,望大家指教。
#include <stdio.h>
int main(void)
{
int box;
printf("lease input a integer:");
box = getchar();
printf("\n You just input a '%d'.\n",box);
return 0;
}
我输入一个数字,在turboc下显示出来的数字跟我输入的数字总是不相符,我都要疯了!求救,谢谢。
******************************************************************************************
问题二:
我数据结构课上写的一个创建单链表的程序。
我对程序的设想是
先创建一个头结点,
然后根据提示输入一个整数,
此时创建一个新结点,
将这个整数放到新结点的数据域中,
然后把新创建的结点和上一个结点链接起来,
这样就成了一个单链表。
但是输入的时候奇怪的事发生了,
我输入的整数有几位,
程序就输出(几+1)行Input next number,must be a bigger integer:
想不明白为什么这样。
请高手指教一下,谢谢。
(我想问题就是出在红色的那部分)
程序如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
struct node *next;
}linklist;
linklist *CreatLinkList()
{
linklist *head,*s,*r;
int get;
head = malloc(sizeof(linklist));
r = head;
printf("lease input a integer:");
get = getchar();
while( get != 'q' )
{
s = malloc(sizeof(linklist));
s->data = get;
r->next = s;
r =s;
printf("\nInput next number,must be a bigger integer:");
get = getchar();
}
r->next = NULL;
return head;
}
int main(void)
{
CreatLinkList();
return 0;
} |
|