1. 不等号的优先级高于等号
若把 while ( (c = getchar ()) != EOF )
写成 while ( c = getchar () != EOF ),就相当于是这条语句:
while ( c = (getchar () != EOF) ) 意义完全不同
2. long 类型需要在使用printf函数时用%ld来说明。
3. getchar ()函数会把 换行 字符也读入缓存
#include <stdio.h>
main ()
{
long nc = 0;
while ( (c = getchar ()) !=EOF )
nc++;
printf ("There's %ld characters.\n",nc);
}
如果你输入了a,b,c三个字符,上面这段代码会输出一共输入了6个字符,原因就是每一次输入的换行符也被读入了
可以修改一下,把换行符去掉(getchar存储的是字符的ascii码,而换行符的ascii码为10,制表符是9,空格是32):
#include <stdio.h>
main ()
{
long nc = 0;
int c;
while ( (c = getchar ()) !=EOF )
{
printf ("c is %d\n",c);
if (c != 10) /* or use: if ( c != '\n' ) */
nc++;
}
printf ("There's %ld characters.\n",nc);
}
另外,可以直接用scanf ()函数,scanf ()函数本身就不会读取末尾的换行。
4、gcc编译时报错误:`true' undeclared (first use in this function)
在编译C语言时有时会遇到这样的错误提示:
`true' undeclared (first use in this function) or `false' undeclared (first use in this function)
就是说 bool, true, false 都是undeclared,原因很简单,因为真正的C中没有这些关键字,c和早期的c++里没有关键字bool,使用BOOL可以,但BOOL不是内置类型了,都是通过typedef或者宏来定义的,通常都会被定义成int类型。后来的c++出现了内置类型bool,值只能为true(1)和false(0)。
解决方法:
1、将文件名.c改为文件名.cpp,用C++方式编译则没问题
2、自己进行一个宏定义:
typedef enum __bool { false = 0, true = 1, } bool;
c90是没有bool的,因此支持c90的dev-c++当然也没有。想在c90里用bool,可以自行用宏进行定义。
c99支持bool,用支持c99的编译器例如gcc就可以的。
参考:http://blog.sina.com.cn/s/blog_6a6094d501011g2h.html
分享到:
相关推荐
单片机(汇编语言)秒表课程设计设计全文共14页,当前为第1页。单片机(汇编语言)秒表课程设计设计全文共14页,当前为第1页。 单片机(汇编语言)秒表课程设计设计全文共14页,当前为第1页。 单片机(汇编语言)秒表课程...
单片机C语言程序设计实训100例——基于8051+Proteus仿真 单片机串行口与PC机通讯资料 单片机串行通信发射机资料 单片机定时闹钟资料 单片机扩展串行通信资料 单片机控制LED点阵显示器 单片机控制交通灯资料 单片机...
51 单片机设计跑马灯的程序用(c 语言)编写 P1 口接 8 个发光二极管共阳,烧入下面程序 #include unsigned char i; unsigned char temp; unsigned char a,b; void delay(void) { unsigned char m,n,s; for(m=20;m>0...
其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态...
" " " "单片机设计与开发大赛题型示例 " " " " " " " " " " " "电风扇模拟控制系统设计 " " " " " "功能 " "简述 " " " "电风扇模拟控制系统能模拟电风扇工作,主要由电机控制电路、电机过热检测与保护电路、定时和...
-d: 不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。 -i: 在重开机之前先把所有与网络相关的装置停止。 install 1.作用 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。 ...
我们使用汇编语言来 编写程序,采用模块化程序设计方法,主程序有多个子程序构成,这些子程序可以单独 的设计,调试和管理,其中包括加1子程序、减1子程序、延时子程序、快加子程序,复 位子程序和显示子程序等。...
模板div+css标准设计,符合w3c标准,兼容主流浏览器;开发语言和数据库:PHP+Mysql。 本程序亮点:从基础代码开发起完全符合SEOWHY理论的SEO规范,力图实现国内首款对SEO最友好的企业网站开源程序,为企业网络营销的...
继续ASP开源之路,稳定、安全、强大的核心程序,对于有网站设计知识和程序爱好者可以随心所欲进行修改,方便建立具有自已特色的站点。 酷睿股票私募网站管理系统,最大的优势不仅在于有全国首创的WAP手机访问系统...
实验安排:自选编程语言完成“银行家算法”,记录程序运行结果,完成实验报告。 实验要求:1)设计五个进程{P0,P1,P2,P3,P4}共享三类资源{A,B,C}的系统,{A,B,C}的资源总数量分别为10,5,7。(详见参见课本...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
分析讨论 这是《接口与通信》课程的第一个实验,虽然还有点陌生,但基本熟悉了80X86汇编语言 的程序设计方法,通过DOS系统中断INT21H 9号功能调用,掌握了字符串在屏幕上的显示方法。通过二进制 BCD码转换程序的...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
计数器定时查询 C. 独立请求 12.微程序控制器中,机器指令与微指令的关系是________。 A. 每一条机器指令由一条微指令执行 B. 每一条机器指令由一段用微指令编成的微程序来解释执行 C. 一段机器指令组成的程序...
-修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。 +集成extjs3.0.3。 -修正弹出对话框的宽度计算错误(会保持最小的状态)。 -增加新的皮肤Gray。 -为示例工程添加改变语言和皮肤的下拉列表。...