从键盘读取输入和相关转义符

本文详细解释了C语言中getchar(), gets() 和 scanf() 函数的功能与使用区别,包括如何处理空格和换行符等特殊情况,并通过实例说明了这些函数在实际编程中的应用。

getchar()是用来输入一个字符的,以回车代表输入结束。

gets()是用来输入字符串的,以回车代表输入结束 。

scanf()是什么都可以输入,以回车代表输入结束 ,


只输入单个情况下,遇到空格也会结束,如:

scanf("%d",&a[i]);
输入1 2 3 4 5,会忽略空格,依次存入a[0]~a[4].

scanf()中空格 可用作分隔符, 当scanf()输入多个变量时, 

如 scanf("%d %d",&a,&b);//表示输入两个整形的数分别赋给变量a、b 在输入另个数时用空格间隔开,但如果scanf("%d,%d",&a,&b);//如果两个%d中间用逗号间隔,那么输入时也必须用逗号作为两个数间隔。


\n表示回车,即换行

\0为字符串结束标志。


int main (void) {
        char s[] = "10";
        printf ("%s\n", s);       //"10"
        printf ("%d\n", s[1]);  // '0'
        printf ("%d\n", s[2]);  // '\0'
        return 0;
}


输出:
10
48
0

这个'\0'就是acsii码的0,
字符串中的0,ascii码的编号是48


char str[]={'1','8','f','0'};//不是一个字符串 只是一个字符数组;
char ch[]={'1','8','f','0','\0'};//这个就表示一个字符串

 
C语言中,gets() 和scanf()的区别在于输入的字符串是否中间有空格:对于前者,只有遇到"\n"时才停止输入,而对于后者,出现"\n"或空格都停止输入

“NULL” 只是一个用来表示空指针的宏定义,跟这个没有太大关系。虽然 (NULL == '\0') 这个表达式返回的是“真”,但这两者完全不是一个意义。


return(0)表示程序正常退出,其他数字如return 1为非正常退出,同理exit(0)。

请问需要读取什么符号并输出?因为不同的符号需要不同的处理方式。以下是一些可能的解决方案: 1. 读取一个字符,并输出 ``` python # 读取一个字符 c = input("请输入一个字符:") # 输出 print("您输入的字符是:", c) ``` 如果希望读取多个字符并输出,可以使用 `input()` 函数,它会读取一行字符串,然后可以从中提取所需的字符。 2. 读取一个整数、浮点数或其他数据类型,并输出 可以使用 `int()`、`float()`、`bool()` 等函数将输入的字符串转换成相应的数据类型,然后输出。 ``` python # 读取一个整数 n = int(input("请输入一个整数:")) # 输出 print("您输入的整数是:", n) ``` ``` python # 读取一个浮点数 f = float(input("请输入一个浮点数:")) # 输出 print("您输入的浮点数是:", f) ``` ``` python # 读取一个布尔值 b = bool(input("请输入一个布尔值:")) # 输出 print("您输入的布尔值是:", b) ``` 需要注意的是,上面的代码读取输入必须符合对应数据类型的格式,否则可能会出错。 3. 读取其他特殊字符,并输出 对于特殊字符,需要使用相应的处理函数或语句来读取输出。例如: - 读取回车符:使用 `input()` 函数即可读取,但不会显示在输出中。 - 读取空格符:可以直接输入一个空格字符,或使用下面的语句: ``` python # 读取空格符 s = input("请输一个空格:") # 输出 print("您输入的字符是:", s) ``` - 读取 tab 符:可以直接输入一个 tab 字符,或使用 `\t` 表示: ``` python # 读取 tab 符 t = input("请输一个 tab:") # 输出 print("您输入的字符是:", t) ``` - 读取换行符:可以直接输入一个换行符字符,或使用下面的语句: ``` python # 读取换行符 n = input("请输一个换行:") # 输出 print("您输入的字符是:", n) ``` 这些特殊字符在输出时也可以使用相应的转义符来表示,例如 `\n` 表示换行符,`\t` 表示 tab 符等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值