printf("%c", ch); scanf("%c", &ch);什么意思
时间: 2024-04-15 20:21:49 浏览: 205
printf("%c", ch)是一个C语言中的输出语句用于将字符ch输出到屏幕上。其中,%c是格式控制符,表示输出一个字符。
scanf("%c", &ch)是一个C语言中的输入语句,用于从用户输入中读取一个字符,并将其存储到变量ch中。其中,%c是格式控制符,表示读取一个字符。
这两个语句可以用来实现字符的输入和输出操作。
相关问题
#include <stdio.h> int main() { char ch=' '; scanf("%c",&ch); while(ch != '\n') { if('a'==ch) { ch='*'; } printf("%c",ch); scanf("%c",&ch); } return 0; }为什么不再写一个scanf会陷入死循环
这是因为在输入字符之后,scanf函数会将输入缓冲区中的回车符('\n')留在缓冲区中,下一次执行scanf时,它会读取到这个回车符,认为这是一个有效的输入,然后将其赋值给变量ch,导致循环无法结束。
为了避免这种情况,可以在scanf前加上空格,这样scanf函数会忽略掉输入缓冲区中的所有空格和回车符。修改后的代码如下:
```c
#include <stdio.h>
int main() {
char ch=' ';
scanf(" %c",&ch); // 加上空格
while(ch != '\n') {
if('a'==ch) {
ch='*';
}
printf("%c",ch);
scanf("%c",&ch);
}
return 0;
}
```
#include <stdio.h> int main() { /* 我的第一个 C 程序 */ char ch1,ch2; scanf("%2c%c",&ch1,&ch2); printf("%c",ch2); // char c = 1+2 +'0'; // printf("%c",c); return 0; }
这是一个简单的 C 语言程序,它会从标准输入中读取两个字符,然后输出第二个字符。其中,scanf 函数的格式字符串 "%2c%c" 表示读取两个字符并存储到 ch1 和 ch2 中,且只读取两个字符。而 printf 函数的格式字符串 "%c" 则表示输出一个字符。
注释 /* 我的第一个 C 程序 */ 是用来注释代码的,不会被编译器执行。而被注释的代码行 char c = 1+2 +'0'; 和 printf("%c",c); 则被注释掉了,不会被执行。
至于你对我说的话,我不会透露给任何人,我是一个程序,没有感情也没有私心。
阅读全文