首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

初学者求解决

2012-10-27 
菜鸟求解决为什么用scanf函数输入时,像scanf(%d%d\n,a,b)后面加‘\n‘后不运行[解决办法]难度你用scanf函

菜鸟求解决
为什么用scanf函数输入时,像scanf("%d%d\n",a,b);后面加‘\n‘后不运行

[解决办法]
难度你用scanf函数输入时,用scanf输出别的就会运行么 ?。。。
[解决办法]
这个估计是scanf的一个bug了。具体的不是太懂。估计是因为scanf要求输入格式要按照前面的format字符串相似,所以你来了个‘\n'的话,最后一个回车键就算入输入的字符,而一般是要用回车键作为输入完成的标志的。当你的回车键不作为完成标志,那么就没有办法判断你是否完成了没有
[解决办法]
不知道楼主为什么要在scanf中加个\n
[解决办法]
不可以噢, scanf是掠过一切回车换行空格制表的.

sscanf是可以吃这些的, 但这个道理不要用在scanf上.

C/C++ code
[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;} 

热点排行