详解scanf与getchar 有更新! 2020-07-22 header scanf 和 getchar 都是c中的输入函数,但它们在用法和原理上有着不同的地方,在刚开始使用时犯了很多错误,写篇博客总结一下; scanf int scanf(const char *format, ...) scanf() 函数属于格式化函数,按照指定的既定格式从键盘上将数据输入到指定的变量中; 因为在 scanf() 语句中的格式中没有非格式字符在 "%d%d%d" 之间作为输入时的间隔,所以在输入时一定要用一个以上的空格或者回车作为两个输入数之间的间隔符 tips: scanf() 在读取数字时会自动跳过空格、制表符和换行符 实例1 int a, b, c; printf("input int: "); scanf("%d%d%d", &a, &b, &c); printf("%d%d%d", a, b, c); 实例2 在变量为数字类型时,程序运行一切正常,我们将变量换成字符试试 char a, b, c; printf("please input num a:\n"); scanf("%c", &a); print....
visual studio编译失败: 无法打开xxxxx.exe进行写入 有更新! 2020-07-22 原因 由于编译时出现错误,导致强制停止后调试并未完成,此时编译器仍然卡在上一次调试时生成的进程中,而 xxx.exe 文件仍被相关进程占用。此时,若进行下一次编译,程序将会尝试打开 xxx.exe 文件,并对其进行修改,但是该文件仍处于被占用状态,所以才会提示无法打开并写入的错误。 解决 只要将 xxx.exe 文件从进程中释放出来即可 把错误中提到的 xxx.exe 文件强制删除,令进程终结,然后重新编译即可 (例如: 火绒强制删除) 进入“任务管理器”,选择“进程”选项卡,进入对应的Visual Studio进程,并展开下拉三角,查看当前进程包含的线程项,如下图所示: (不过很可惜的是,我没有找到这个进程,或许是眼拙了) 引用:https://www.cnblogs.com/cvwyh/p/10319014.html