229得票4回答
195得票5回答
为什么scanf()需要使用"%lf"来表示double类型,而printf()只需要用"%f"即可呢?

为什么在读取double时,scanf()需要在"%lf"中使用L,而printf()不管其参数是double还是float都可以使用"%f"? 示例代码:double d; scanf("%lf", &d); printf("%f", d);

179得票11回答
如何使用scanf允许输入空格?

```python print("Hello, World!") ``` 使用下面的代码: ```python print("Hello, World!") ```char *name = malloc(sizeof(char) + 256); printf("What is you...

169得票2回答
为什么使用scanf读取字符串缓冲区时,有些情况下需要加上&符号,有些情况下又不需要呢?

我对某件事有些困惑。我原本以为使用scanf()读取C字符串的正确方法是: (不用担心可能的缓冲区溢出,这只是一个简单的例子)char string[256]; scanf( "%s" , string ); 然而,以下方法似乎也可以起作用:scanf( "%s" , &string ...

163得票5回答
无符号短整型的格式说明符是什么?

我有以下的程序。 #include <stdio.h> int main(void) { unsigned short int length = 10; printf("Enter length : "); scanf("%u", &leng...

151得票9回答
我能使用什么替代scanf来进行输入转换?

我经常看到人们劝阻他人不要使用 scanf 并表示有更好的替代方法。但是,我最终看到的只有 "不要使用 scanf" 或者 "这是正确的格式字符串",从未看到任何提到的“更好的替代方法”的示例。 例如,让我们看一下这段代码:scanf("%c", &c); 这会读取在上一次转换后留在...

139得票11回答
如何在C语言中使用scanf读取单个字符

在C语言中:我正在尝试使用scanf从用户获取字符,但运行程序时它不等待用户输入任何内容...这是代码:char ch; printf("Enter one char"); scanf("%c", &ch); printf("%c\n",ch); 为什么它不起作用?

133得票7回答
scanf()会将换行符留在输入缓冲区中。

我有以下程序:int main(int argc, char *argv[]) { int a, b; char c1, c2; printf("Enter something: "); scanf("%d", &...

112得票13回答
从输入中读取带空格的字符串?

我使用Ubuntu,我的IDE是Geany和CodeBlock。 我想做的事情是读取一个字符串(比如"Barack Obama")并把它放到一个变量中:#include <stdio.h> int main(void) { char name[100]; pri...

99得票7回答
如何在C语言中防止scanf引起缓冲区溢出?

我使用这段代码:while ( scanf("%s", buf) == 1 ){ 如何最好地防止缓冲区溢出,以便可以传递随机长度的字符串? 我知道我可以通过调用例如:while ( scanf("%20s", buf) == 1 ){ 但我希望能够处理用户输入的任何内容。 或者使用scanf...