| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 847 人关注过本帖
标题:菜鸟级别的问题:关于 char 输出
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以后你会知道同样是C语言写的许多各具特色的输入输入函数,不是非要用printf()不可的。记住:C语言本身没有定义任何输入输出功能!所有输入输出函数都是人写的,你也完全可以自己写一个,觉得怎么好用怎么写。

授人以渔,不授人以鱼。
2014-08-17 22:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
char ch = 'A';
这种形式的语句,是声明一个变量的同时给予赋值,所以实际上给ch赋值了3次。对一个变量赋值,必然是刷写式的,把旧的值刷掉,使用新的值。

注意:凡是使用=号的,都是赋值,哪怕是初始化语句,也是使用赋值形式操作。直接初始化的语句,C语言没有,C++有,它的语法是这样的:char ch('A');这样定义的变量,没有赋值过程。直接初始化和赋值初始化,有很微妙的区别,在C中不察觉,在诸如C++这类面向对象的语言中却很重要。

授人以渔,不授人以鱼。
2014-08-17 22:34
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你可以用《hello,world》程序感受一下printf()的字符串替换:
程序代码:
char name[] = "坚韧的菜鸟";
int number = 123;
printf("%d: Hello, %s!\n", number, name);

把上面代码中的%d和%s变换位置(甚至插入到文字中间,但注意不要颠倒两者的次序,要么连后面的参数也跟着一起颠倒)运行看看效果,就知道替换是怎么回事。其实如果你用过Word的文字替换功能,也能理解是怎么回事,两者的功能是一样的。明白了这个,就能明白你的问题。


[ 本帖最后由 TonyDeng 于 2014-8-17 23:24 编辑 ]

授人以渔,不授人以鱼。
2014-08-17 23:23
怪叔叔
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:1
帖 子:113
专家分:234
注 册:2013-9-22
收藏
得分:3 
楼上完全正解
2014-08-17 23:46
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:3 
俺都被侬问糊涂了,呵呵

梦想拥有一台龙芯3A-4000
2014-08-18 11:35
坚韧的菜鸟
Rank: 2
等 级:论坛游民
帖 子:29
专家分:29
注 册:2014-7-20
收藏
得分:0 
回复 10 楼 TonyDeng
谢谢版主的详细讲解了、总算明白一点了、%c是一个整体的、而不是%ch、
2014-08-18 14:59
坚韧的菜鸟
Rank: 2
等 级:论坛游民
帖 子:29
专家分:29
注 册:2014-7-20
收藏
得分:0 
回复 9 楼 zklhp
谢谢版主了哈、通过您的讲解吧、总算知道点了、虽然不能算是大彻大悟、(因为我后面的还都没有学习的、)但是目前来说、是明白了哈~~~
2014-08-18 15:25
快速回复:菜鸟级别的问题:关于 char 输出
数据加载中...
 
   



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

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