| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:这么用可以吗:
只看楼主 加入收藏
hainiba
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-7-14
收藏
 问题点数:0 回复次数:9 
这么用可以吗:
这么用可以吗:
char t;
scanf("%s",&t);

我在一个程序中看到的,而且程序运行正常;如果改为
scanf("%c",&t);
则会出现一点问题.
这是为什么呢
请大家指点
搜索更多相关主题的帖子: 而且 
2007-11-21 19:38
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 

char t;
scanf("%s",&t); /* 符合语法,但这是错误的 */


—>〉Sun〈<—
2007-11-21 19:43
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 

楼主发下原代码啊!

[此贴子已经被作者于2007-11-21 20:20:54编辑过]


—>〉Sun〈<—
2007-11-21 19:44
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
scanf("%c",&t);
则会出现一点问题.

因为:字符串是以 '\0' 最为结尾的。
空字符串 "" ('\0')
字符串 "a" ('a''\0')

—>〉Sun〈<—
2007-11-21 19:48
gbgame
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-10-27
收藏
得分:0 
以下是引用cosdos在2007-11-21 19:48:42的发言:
scanf("%c",&t);
则会出现一点问题.

因为:字符串是以 '\0' 最为结尾的。
空字符串 "" ('\0')
字符串 "a" ('a''\0')

我没感觉 scanf("%c",&t); 会出问题呀。请解释。

2007-11-21 19:56
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
以下是引用gbgame在2007-11-21 19:56:20的发言:

我没感觉 scanf("%c",&t); 会出问题呀。请解释。

字符串与字符能一样吗?

搂主说使用 %c 后会出问题,那么说明程序中使用的是字符串。
字符和字符串是不同的。

"" 字符串 '\0' 以空字符结束。
字符 'a' 它就是 'a' 没有空字符。

字符串 "aaa" == 'a' 'a' 'a' '\0'


—>〉Sun〈<—
2007-11-21 20:15
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
收藏
得分:0 
因该是程序中输入了字符串吧,不然怎么可能有问题.

同行售各专业书籍,全1折,淘宝店:http://maishu.
2007-11-21 20:19
fangfangff
Rank: 1
等 级:新手上路
威 望:2
帖 子:479
专家分:0
注 册:2006-12-22
收藏
得分:0 
你从键盘的输入是什么呢??

千里冰封---My Love 尽管相隔千里 , 依然拥有冰封
2007-11-22 17:03
l670397306
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2007-10-13
收藏
得分:0 
学习了啊!!!!!!
:$
字符串与字符能一样吗?

搂主说使用 %c 后会出问题,那么说明程序中使用的是字符串。
字符和字符串是不同的。

"" 字符串 '\0' 以空字符结束。
字符 'a' 它就是 'a' 没有空字符。

字符串 "aaa" == 'a' 'a' 'a' '\0'

2007-11-24 12:22
gbgame
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-10-27
收藏
得分:0 
原帖由 cosdos 于 2007-11-21 20:15 发表 [url=http://bbs.][/url]
以下是引用gbgame在2007-11-21 19:56:20的发言:
我没感觉 scanf("%c",&t); 会出问题呀。请解释。
字符串与字符能一样吗?搂主说使用 %c 后会出问题,那么说明程序中使用的是字符串。字符和字符串是不同的。"" 字符串 '\0' ...

抗议抗议,
scanf("%c",&t); 不就是:用scanf从键盘读取字符串,把其中第一个字符提出(%c的作用),存入char变量t中。(scanf要求取地址,而不是因为你想把它用作字符串才加上&的)
2007-11-24 12:32
快速回复:这么用可以吗:
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.062522 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved