24得票2回答
使用scanf读取无符号字符

我试图使用这段代码读取 0 到 255 之间的数值(unsigned char)。#include<stdio.h> int main(void) { unsigned char value; /* To read the numbers between 0 to...

24得票2回答
错误:格式中未知的转换类型字符“l”-扫描长整型

我正在尝试使用标准输入输出函数 scanf 从控制台获取 long long。我从 %lld 开始:scanf("%lld", &rule); 那会抛出:error: unknown conversion type character 'l' in format [-Werror=fo...

24得票6回答
为什么scanf需要使用&符号?

我想从标准输入中读取一个数字。我不明白为什么在变量名前加上&是scanf函数的要求:int i; scanf("%d", &i); 为什么scanf需要变量的地址?

24得票2回答
从stdin读取一个字符:getc Vs getchar Vs Scanf

以下三个函数中: getc、getchar 和 scanf, 哪个函数最适合从标准输入流中读取一个字符?为什么? 这些函数是否存在已知的缺陷或限制,使其中一个函数比其他函数更好? 注:本回答保留原始的HTML标签格式。

23得票8回答
使用scanf()函数读取一行不好吗?

scanf(" %[^\n]",line); 我的一个朋友建议使用 fgets() 作为读取输入行的方法比使用上面提到的 scanf() 更好。他的建议有道理吗? 他的建议是有道理的。

23得票3回答
使用`scanf()`读取逗号分隔的输入

我有以下输入: AG23,VU,Blablublablu,8 IE22,VU,FooBlaFooBlaFoo,3 and so on... 我希望它能够使用类似以下代码的方式,“解析”scanf(): char sem[5]; char type[5]; char title[80]...

22得票6回答
sscanf被认为是安全的吗?

我模糊地记得有人建议不要使用 sscanf。我知道如果使用字段宽度说明符,它不会溢出缓冲区,所以我的记忆是否正确?

22得票7回答
fgets在scanf之后无法工作。

#include <stdio.h> #include <string.h> #include <ctype.h> void delspace(char *str); int main() { int i, loops; char s1[...

21得票6回答
`scanf("%*[^\n]%*c")` 是什么意思?

我想在C语言中编写一个循环,当程序要求输入一个整数时,如果用户输入的是一个非数字字符,则程序会再次要求输入整数。 我找到了下面的代码,但我不理解 scanf("%*[^\n]%*c") 是什么意思。这里的 ^\n 是什么意思?在 ^\n 和 c 前面的 * 是什么意思?/* Th...

21得票3回答
在C语言中动态指定scanf函数的最大字符串长度(类似于printf中的“%*s”)

我可以使用以下技巧指定 scanf 读取到 buffer 中的最大字符数:char buffer[64]; /* Read one line of text to buffer. */ scanf("%63[^\n]", buffer); 但是如果我们在编写代码时不知道缓冲区的长度怎么办?如...