1.getchar()和putchar()相比于printf和scanf函数,只处理字符类型,因此不需要格式转换。
2.iso646.h头文件的作用
#include<stdio.h>
#include<iso646.h>
int main()
{
char ch;
int charout = 0;
while ((ch = getchar()) != '.')
{
if (ch != '"' and ch != '\'')
charout++;
}
printf("%d", charout);
return 0;
}
使用这个头文件,可以用and代替&&,or代替||。
3.#include<stdio.h>
int main()
{
char ch;
int count = 0;
while ((ch = getchar()) != '#')
{
if (count++ % 8 == 0)
printf("\n");
if (ch == '\n')
printf("'\\n'-%03d.", ch);
else if (ch == '\t')
printf("'\\t'-%03d.", ch);
else
printf("'%c'%d.", ch,ch);
}
printf("done");
return 0;
}
以上这两个代码,让自己迷惑的点就是,第一个是printf函数在while循环以外,因此不输入‘.’就不会打印,而第二个代码 printf函数是在while循环里,#是为了退出循环,反而不打印。
c语言学习日记(分支与跳转)--2023-6-21
文章介绍了C语言中处理字符的函数getchar和putchar,以及iso646.h头文件如何简化逻辑表达式。第一个代码示例展示了如何计数非引号字符,而第二个代码则展示了一种特殊格式的字符打印,直到遇到特定字符#为止。
摘要由CSDN通过智能技术生成