scanf ,getchar 他们都是从缓冲区内拿也就是等待输入框,当你从键盘上输入进去后就会不被拿去. getchar 一次只拿一个字符,故当先用scanf输入一串值后在最后会留下 \n 若要清理完缓冲区则可以
注:scanf 一般遇到空格或者\n则会停止
scanf("%[^\n]", str);//这样写就可以%[^\n]让scanf读取空格,读到'\n'结束读取
scanf 的返回值是 读到有效数字的个数 END OR EOF(-1) (vs要按3次Ctrl z 结束) 虽然EOF本质上被定义成-1但并不是输入-1而停止他仍会正常进行
scanf传入的必须是指针,也就是地址(要在传入的变量前加&)。所以arr[i]代表的不是地址所以不像arr一样不用加&,数组名本质上就是首元素的地址,在scanf 时不用加&,如char password[] = “..”时的 password ,scanf("%S",password)
持续更新大量C语言细致内容,三连关注哈