scanf()函数碰到了一个小问题
int a;scanf("%d, &a");
语句1;
语句2;
......
如果我运行的时候输入了字符 a, scanf函数会怎么样
{:9_241:}
啥也没做返回0 jhq999 发表于 2021-11-17 11:14
啥也没做返回0
啥也没做,那它是会被跳过吗 chenlifeng 发表于 2021-11-17 11:16
啥也没做,那它是会被跳过吗
int ts=scanf("%d, &a");//输入a
printf("%d\n",ts);
ts=getchar();
printf("%d\n",ts); jhq999 发表于 2021-11-17 11:17
额,没太明白 chenlifeng 发表于 2021-11-17 11:21
额,没太明白
ts=0表示scanf没有接收任何东西,下面的getchar()接收了缓存里输入的a(字符a的值是97) 把输入的字母a的ASCII码存进了a里 jhq999 发表于 2021-11-17 11:25
ts=0表示scanf没有接收任何东西,下面的getchar()接收了缓存里输入的a(字符a的值是97)
好的{:5_105:} HanYanShuang 发表于 2021-11-17 11:28
把输入的字母a的ASCII码存进了a里
呃, 可是楼上说scanf它啥也不会干 chenlifeng 发表于 2021-11-17 11:53
呃, 可是楼上说scanf它啥也不会干
是的,在输入类型对不上的时候,scanf什么也不做,只不过数据在缓冲区中 $ cat main.c
#include <stdio.h>
int main(void) {
int a;
int res = scanf("%d", &a);
int ch = getchar();
printf("%d, '%c'\n", res, ch);
return 0;
}
$ gcc-debug -o main main.c
$ ./main
123 456
1, ' '
$ ./main
a 456
0, 'a'
$
人造人 发表于 2021-11-17 12:38
$是干什么用的呀(本人还是一只出生不久的小甲鱼) chenlifeng 发表于 2021-11-17 13:07
$是干什么用的呀(本人还是一只出生不久的小甲鱼)
输入:123 456
输出:1, ' '
输入:a 456
输出:0, 'a'
其他的你忽略就好
人造人 发表于 2021-11-17 13:21
呃,想知道这个窗口透明是怎么搞的{:5_91:} chenlifeng 发表于 2021-11-17 19:25
呃,想知道这个窗口透明是怎么搞的
操作系统:archlinux + i3wm
开发环境:vim + gcc + gdb
chenlifeng 发表于 2021-11-17 19:25
呃,想知道这个窗口透明是怎么搞的
urxvt + picom
页:
[1]