C语言 scanf("%s",filename); ch=getchar(); 在字符串输入结束后 c语言中scanf 和getchar区别

c\u8bed\u8a00scanf\u8f93\u5165\u5b57\u7b26\u4e32\u4e3a\u4f55\u8981\u52a0getchar

\u7b2c\u4e00\u4e2ascanf\u8bfb\u5165\u5b57\u7b26\u4e32\u540e\uff0c\u6362\u884c\u7b26\u7559\u5728\u8f93\u5165\u7f13\u51b2\u533a\u4e2d\uff0c\u88ab\u7b2c\u4e8c\u4e2ascanf\u8bfb\u5165\uff08scanf\u7684\u683c\u5f0f\u5b57\u7b26\u4e32\u4e3a%c\u65f6\u4f1a\u8bfb\u53d6\u4e00\u5207\u5b57\u7b26\u5305\u62ec\u6362\u884c\u548c\u56de\u8f66\uff09\uff0c\u56e0\u800c\u9020\u6210\u9519\u8bef\u3002\u53ef\u5728\u7b2c\u4e00\u4e2ascanf\u7ed3\u675f\u540e\u52a0\u5165\u4e00\u884cwhile(getchar()!='\n');\u6e05\u7a7a\u8f93\u5165\u7f13\u51b2\u533a\u3002

\u524d\u4e24\u4e2a\u95ee\u9898\u8f93\u51fa\u7ed3\u679c\u662f\u4e00\u6837\u7684\u3002\u5f53\u7136\uff0cch=getchar()\uff1b\u5e94\u6539\u4e3ach[i]=getchar();\u5e26\u7a7a\u683c\u65f6\uff0c\u8981\u628a\u63a7\u5236\u5faa\u73af\u53d8\u91cf\u6539\u4e3a20\uff1b\u540e\u9762\u7684\u95ee\u9898\u5e94\u8be5\u662fscanf\uff08\u201c%s\u201d\uff0cstr\uff09\uff1b\u4e0egets\uff08str\uff09\uff1b\u7684\u533a\u522b\uff0c\u6b64\u65f6\uff0cscanf\u4e2d\u7a7a\u683c\u3001\u56de\u8f66\u3001\u8df3\u683c\u90fd\u8868\u793a\u7ed3\u675f\uff0c\u800cgets\u4e2d\u4e3a\u4e00\u4e2a\u5b57\u7b26

字符串输入结束后立即按回车键
都会的。
#include<stdio.h>
main()
{
char filename[80];
int ch;
scanf("%s",filename);
// ch=getchar();
scanf("%c",&ch);
printf("ch=0x%02X ",ch); // 用16进制数值输出这个键的编码,就知道它是\n键
return 0;
}

应该会报错吧 输入要用&的

scanf("%s",filename);不会报错吗?不管怎样都会吃掉回车的

扩展阅读:visual studio ... &quot &quot 一师一优课 ... scanf 中文翻译 ... 5个例子搞懂scanf ... qsc官网 中文 ... c 电子书 ... cascade 中文翻译 ... c++ ... c语言 syscall ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网