#include<stdio.h>
void main()
{
char ch;
int i;
scanf("%d",&i);
for(i=0;i<26;i++)
{
ch=i+65;
if(i%2==0)
printf("c=%c ASCII=%d\n",ch,ch);
}
}
为什么定义Ch是一个字符变量,但在输出时也可以代表字符的ASCII码值?
我的意思是:ch在这里既可以当整型变量输出也可以当字符型变量输出,是为什么?不矛盾吗?
char说明数据类型是字符型,ch是变量名(可称为字段)。
fgetc() 使用举例:
表示从D:\\demo.txt文件中读取一个字符,并保存到变量ch中。
在文件内部有一个位置指针,用来指向当前读写到的位置,也就是读写到第几个字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后,该指针会向后移动一个字节,所以可以连续多次使用fgetc读取多个字符。
注意:这个文件内部的位置指针与C语言中的指针不是一回事。位置指针仅仅是一个标志,表示文件读写到的位置,也就是读写到第几个字节,它不表示地址。文件每读写一次,位置指针就会移动一次,它不需要你在程序中定义和赋值,而是由系统自动设置,对用户是透明的。
【示例】在屏幕上显示 D:\\demo.txt 文件的内容。
在D盘下创建demo.txt文件,输入任意内容并保存,运行程序,就会看到刚才输入的内容全部都显示在屏幕上。
该程序的功能是从文件中逐个读取字符,在屏幕上显示,直到读取完毕。
程序第14行是关键,while 循环的条件为(ch=fgetc(fp)) != EOF。fget() 每次从位置指针所在的位置读取一个字符,并保存到变量 ch,位置指针向后移动一个字节。当文件指针移动到文件末尾时,fget() 就无法读取字符了,于是返回 EOF,表示文件读取结束了。
1、这应该是一个变量的名字,变量的名字是可以随便定义的,只要符合命名规则,只不过我们经常用ch来定义一个char型的变量,以便一看就知道这是一个char型的变量,char是C语言的关键字,表示字符型变量。
2、例如:
#include<stdio.h>我的意思是:ch在这里既可以当整型变量输出也可以当字符型变量输出,是为什么?不矛盾吗?
本回答被提问者采纳