菜鸟求解决
为什么用scanf函数输入时,像scanf("%d%d\n",a,b);后面加‘\n‘后不运行
[解决办法]
难度你用scanf函数输入时,用scanf输出别的就会运行么 ?。。。
[解决办法]
这个估计是scanf的一个bug了。具体的不是太懂。估计是因为scanf要求输入格式要按照前面的format字符串相似,所以你来了个‘\n'的话,最后一个回车键就算入输入的字符,而一般是要用回车键作为输入完成的标志的。当你的回车键不作为完成标志,那么就没有办法判断你是否完成了没有
[解决办法]
不知道楼主为什么要在scanf中加个\n
[解决办法]
不可以噢, scanf是掠过一切回车换行空格制表的.
sscanf是可以吃这些的, 但这个道理不要用在scanf上.
[User:root Time:20:28:47 Path:/home/liangdong/c]$ makegcc -g -I./include -c -o src/main.o src/main.cgcc -o output src/main.o -lpthread -lm -lzMakefile done.[User:root Time:20:28:48 Path:/home/liangdong/c]$ ./output 1 2 3 4[User:root Time:20:28:49 Path:/home/liangdong/c]$ cat src/main.c #include <stdio.h>#include <stdlib.h>#include <string.h>int main(int argc, char* const argv[]) { int a, b, c, d; //scanf("%d%d\n", &a, &b); const char *input = "1 2\n 3 4"; int ret = sscanf(input, "%d%d\n%d%d", &a, &b, &c, &d); if (ret == 4) { printf("%d %d %d %d\n", a, b, c, d); } return 0;}