![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
KirisameAlmond
这个作者很懒,什么都没留下…
展开
-
c语言中的EOF,‘\0’使用
EOF是一个宏定义,值是-1,一般用在读取输入'\0'是ASCII码,值为0,c语言中约定string以'\0'结尾,也就是说,我们自定义的char[]要以'\0'结尾getchar()返回的结束符号是EOF,而不是‘\0’ int intline[10]; intline[0] = getchar();//键入ctrl+z if (intline[0] == EOF) { printf("EOF得出intline的末尾\n");//输出 } if (intline[0] ==原创 2022-05-25 16:09:29 · 737 阅读 · 0 评论 -
c语言中char转换为int的问题
c语言没有要求char的定义是unsigned还是signed的,假如我们声明一个char,并不知道默认是unsigned还是signed类型。这会导致一个问题:当我们将char 转换为int时,如果char为负数,可能导致转换结果出错,下面显式地声明unsigned/signed进行测试1.如果char默认是unsigned的类型unsigned char c = EOF;printf("%d\n", c);//255EOF为-1,char占用8位,在内存中以补码形式保存:-1的原原创 2022-05-25 15:24:42 · 2773 阅读 · 0 评论 -
c语言中unsigned类型转换为signed类型
本文是针对《c程序设计语言》P35页中关于有符号转换为无符号类型数据的小测试,测试环境int类型占用4字节,long类型占用4字节代码:#include <stdio.h>main() { unsigned int i = 1U; signed long j = -1L; printf("i的无符号类型是:%u,\n", i); printf("i的有符号类型d:%d,\n", i); printf("j的有符号类型ld:%ld,\n", j); printf("j的无符原创 2022-05-23 10:34:17 · 663 阅读 · 0 评论