Tag: printf

在scanf(或)printf中错误的格式说明符

就printf函数而言,我从less数参考和实验中了解以下内容。 当我们试图打印一个整数值与格式说明符用于浮动(或)双和反之亦然行为是不可预知的 。 但可以使用%c来打印整数值的字符。 也可以使用%d来打印字符的ASCII值(整数表示)。 类似地,如果格式说明符和传递给scanf的参数不匹配 , scanf的行为是什么。 标准是否定义了它?

在printf中解释评估顺序

可能重复: C函数调用之前的参数评估顺序 main() { int i=5; printf("%d%d%d%d%d%d",i++,i–,++i,–i,i); } 输出是45545,但我不知道它是如何工作的。 有人说函数调用中的参数是从左到右推入堆栈的。

printf不在控制台上打印

我开始使用C语言。 我使用eclipse(juno)作为我的IDE并安装了CDT插件。 我也解开了mingw64(GCC编译器)。 我写了一个非常简单的程序来看看它是否工作。 这是我的代码: #include <stdio.h> int main() { int age; printf("Hello, please enter your age:\n"); scanf("%d", &age); printf("Your age is %d", age); return 0; } 问题在于输出缓冲区中填充了第一个printf的string值,但不会将其输出到控制台。 我必须input一个数字,然后缓冲区才会把所有的数据传送到控制台,所以我看到控制台是这样的: 1 Hello, please enter your age: Your age is 1 而不是预期的是: Hello, please enter your age: 1 Your age is 1 现在,我发现我可以在第一个printf之后使用fflush(stdout) ,但我不认为这个解决scheme是优雅的,甚至是必要的。 关于如何克服这个问题的任何想法? 编辑 – […]

警告:格式不是string文字和格式参数

我想删除我在代码的这一行上得到的警告, FILE *fil; char *imp; (…) fprintf(fil,imp); 事情是当我这样做它写在文件正是我想要的,但如果我应用格式%s它不这样做 fprintf(fil, "%s", imp);

printf中的“%。* s”是什么意思?

我有一个代码片段,其中有一个 printf("%.*s\n") %.*s是什么意思?

格式化数字为固定宽度,前导零

下面的代码 a <- seq(1,101,25) b <- paste("name", 1:length(a), sep = "_") 产生这个输出: "name_1" "name_26" "name_51" "name_76" "name_101" 我想要所有值的宽度相同,这意味着我要用这样的零填充值: "name_001" "name_026" "name_051" "name_076" "name_101" 我该如何处理? (这个问题和这个有关。)

在Java中alignmentprintf输出

我需要显示一个数组的价格列表,并希望调整价格。 我几乎有它的工作,但需要改进。 以下是代码和输出。 任何想法如何使所有的价格alignment? 到目前为止有些工作,但有些没有。 提前致谢。 //for loop System.out.printf("%d. %s \t\t $%.2f\n", i + 1, BOOK_TYPE[i], COST[i]); 输出: 1. Newspaper $1.00 2. Paper Back $7.50 3. Hardcover book $10.00 4. Electronic book $2.00 5. Magazine $3.00

在printf中Java的“%n”是什么?

我正在阅读有效的Java,它在任何地方都使用%n作为换行符。 我已经在Java程序中成功使用了新行。 哪一个是“正确”的? \n怎么了? 为什么Java改变这个C约定?

在printf中设置可变的文本列宽

为了确定C语言中列的大小,我们使用%<number>d 。 例如,我可以input%3d ,它会给我一个宽度为3的列。 我的问题是,我的数字%是一个variables,我收到,所以我需要像%xd (其中x是我的程序之前收到的整数variables)。 但它不工作。 有没有其他方法可以做到这一点?

你如何printf一个无符号的long long int(unsigned long long int的格式说明符)?

#include <stdio.h> int main() { unsigned long long int num = 285212672; //FYI: fits in 29 bits int normalInt = 5; printf("My number is %d bytes wide and its value is %ul. A normal number is %d.\n", sizeof(num), num, normalInt); return 0; } 输出: My number is 8 bytes wide and its value is 285212672l. […]