首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

动态开辟数字链表怎么设置结束标志

2013-09-28 
动态开辟数字链表如何设置结束标志我希望从键盘上输入一个整数(正负都有),将这个数依次存入动态开辟的链表

动态开辟数字链表如何设置结束标志
我希望从键盘上输入一个整数(正负都有),将这个数依次存入动态开辟的链表节点中,如何设置输入结束标志符,使得输入该字符,链表就结束了。我自己设定的是输入0时即结束,后来发现数据中可以出现0,求高人指教实现方法。
[解决办法]
既然你输入的是整数,那就随便找个不是数字的字符abcdefg啥的当结束符呗。

当然,需要按字符串形式接受输入,判断是否结束,不是就用atoi之类的转换一下。
[解决办法]
用的什么输入函数,!=EOF 可以吗?
[解决办法]
转义字符的方法才是值得借鉴的,很多计算机协议都有采用。把0作为终止符,如果要输入0,则必须再引入一个数字作为转义字符放在0的前面。
[解决办法]
方法很多,简单提几种(不探讨优劣)
1.知道自己结点数(静态或者动态获知),循环建表
2.知道数据的取值范围,设定一个范围之外的数值作为结束标志
3.(2的补充)先采集数据,再判断是否建立结点
4.输入数据量较小时候,比如多个数据一整行一次输入,可以使用\n作为结束符
5.数据量较大时读取文件,可以用EOF结束
6.没有6,就想起来这么多吧。
[解决办法]
while(scanf() != EOF)

Ctrl+z  or
Ctri+d
退出
[解决办法]

引用:
Quote: 引用:

转义字符的方法才是值得借鉴的,很多计算机协议都有采用。把0作为终止符,如果要输入0,则必须再引入一个数字作为转义字符放在0的前面。
如何使用转义字符实现呢?能详细点吗?本人菜鸟。


假设0就是这个特殊的转义字符好了,规定连续输入01表示链表结束;因此只输入一个0,程序并不能立刻做出判断,这个时候需要继续判断下一个字符,如果不是1,正常显示0和其他数字,如果是1,链表结束。大概就是这样子。

热点排行
Bad Request.