首页 文章
  • 2 votes
     answers
     views

    在汇编程序中打印浮点数

    我正在尝试从assemler调用printf函数打印浮点值 . 它适用于字符串和整数值,但无法打印浮点数 . 以下是工作代码的示例: global main extern printf section .data message: db "String is: %d %x %s", 10, 0 end_message: db &quot...
  • 3 votes
     answers
     views

    创建一个my_printf,将数据发送到sprintf和普通printf?

    我正在使用printf和想法来编写调用普通printf的my_printf(...)和将结果发送到特殊函数的sprintf . (我在考虑sprintf,因为在大多数平台上它的行为就像printf一样) . 我的想法是编写一个执行此操作的小宏: #define my_printf(X, Y...) do{ printf(X, ## Y); \ char* data = malloc(st...
  • -1 votes
     answers
     views

    将结构成员输入到printf函数和太多参数错误

    嗨,任何人都可以告诉我 printf 功能发生了什么问题?我一直收到错误 警告:格式'%i'需要类型为'int'的参数,但参数2的类型为'char *'[ - Wformat =] time2.hour,time2.min,time2.sec,time3.hour,time3.min, time3.sec); 然后 警告:格式参数太多[-Wformat-extra-args] 谁有人指出...
  • 456 votes
     answers
     views

    除非换行符在格式字符串中,为什么printf在调用后不会刷新?

    除非换行符在格式字符串中,为什么 printf 在调用后不会刷新?这是POSIX的行为吗?我怎么能每次都立即冲洗 printf ?
  • 7 votes
     answers
     views

    在C中将int打印为float

    我正在为Little Endian使用Visual Studio TC编译器 . 以下是这段代码: void main() { float c = 1.0; int a = 0x3F800000; int *ptr = (int *)&c; printf("\n0x%X\n", *ptr); printf("\n...
  • 284 votes
     answers
     views

    在C中打印0?

    我正在努力寻找一种打印领先0的好方法,比如01001的邮政编码 . 虽然数字将存储为1001,但这样做的好方法是什么? 我想过要么使用case case语句/如果那么弄清楚这个数字是多少位数,然后把它转换成一个带有额外0的打印的char数组,但我不禁想到有可能有办法用printf格式语法,这是我的意思 .
  • 2 votes
     answers
     views

    GCC printf优化

    我注意到GCC非常聪明地优化 printf . 例如, printf("") 已从生成的代码中完全删除 . printf("\n") 替换为 putchar('\n') . 我注意到当我编译一个非常小的模块时: extern "C" int printf(const char *__restrict __format, ...);...
  • 5 votes
     answers
     views

    printf由给定的指针和格式字符串组成 . 浮动问题

    因为我想跟踪一些变量以便看到它们如何变化,我想创建一个函数,它接收一个格式字符串,具体取决于变量的类型和指向值的指针 . 我希望,在格式字符串的帮助下,printf将正确地确定值 . 实际上它有效,但有一个例外 - 浮点值无法正确打印 . 这是我的代码: #include <stdio.h> void pprint (char* fmtstr, void* p) { ...
  • 14 votes
     answers
     views

    printf(“%p”)并转换为(void *)

    在最近的一个问题中,有人提到当使用printf打印指针值时,调用者必须将指针强制转换为void *,如下所示: int *my_ptr = .... printf("My pointer is: %p", (void *)my_ptr); 对于我的生活,我无法弄清楚为什么 . 我找到this question,几乎是一样的 . 问题的答案是正确的 - 它解释了整数和指针的长...
  • 2 votes
     answers
     views

    int指针和浮点指针之间的奇怪区别

    请看下面的代码 #include <stdio.h> #include <stddef.h> typedef struct _node { int a; char *s; }Node, *nodePtr; int main(int argc, char *argv[]) { char *str = "string"; /*str points to ...
  • 287 votes
     answers
     views

    如何在C中打印“unsigned long”?

    我永远无法理解如何在C中打印 unsigned long 数据类型 . 假设 unsigned_foo 是 unsigned long ,那么我尝试: printf("%lu\n", unsigned_foo) printf("%du\n", unsigned_foo) printf("%ud\n", unsigned_foo...
  • -2 votes
     answers
     views

    在C中打印指针的地址

    我正在从scrap中复制printf,我需要将指针地址存储到一个字符串然后打印它,所以首先我将void *转换为unsigned int然后将它转换为十六进制但最后三个char是错误的 . int main(void) { char str[] = "printf from scrap!"; my_printf("MY_PRINTF:'...
  • 0 votes
     answers
     views

    使用fgets并使用printf只打印一些行

    我正在尝试编写一个函数,给出一些文本文件,它返回一些特定的行 . 但问题是其中一些不打印 . 我使用fgets(var,1500,(file *)fp)从文件中获取每一行,然后使用printf打印它 . 文件的内容如下: 致:马克 来自:鲍勃 ID:0 2017年2月5日星期日13:21:38 主题:足球 文字:下周六早上 #include <stdio.h> #include &lt...
  • -1 votes
     answers
     views

    在linux上使用printf进行分段错误

    @球队, 在尝试通过printf打印整数值时,我意外地将语句写为 int x =10; printf(x); 在linux中,我试图执行它时遇到分段错误 . 虽然它错了但可以有人请帮助我知道它的原因 . 斯特拉斯说: mprotect(0x7f872fb26000, 4096, PROT_READ) = 0 munmap(0x7f872fb0b000, 99154) = 0 ...
  • 123 votes
     answers
     views

    当在C89模式下编译时,以下程序如何输出`C89`和在C99模式下编译时输出`C99`?

    我从网上找到了这个C程序: #include <stdio.h> int main(){ printf("C%d\n",(int)(90-(-4.5//**/ -4.5))); return 0; } 这个程序的有趣之处在于,当它在C89模式下编译和运行时,它会打印 C89 ,当它被编译并在C99模式下运行时,它会打印 C99 . ...
  • -1 votes
     answers
     views

    为什么printf与%d说明符给出错误的结果?

    这里的代码给出了不正确的int num值,如果我输入的num是例如11,则printf函数将输出0.但是如果我将static添加到int num,则printf生成的输出是正确的 . 有人可以解释原因 . 如果我将第二个scanf的格式说明符设为%c,那么也可以正确打印int值 . #include<stdio.h> int main() { int nu...
  • 357 votes
     answers
     views

    是否有printf转换器以二进制格式打印?

    我可以用printf作为十六进制或八进制数打印 . 是否有格式标记打印为二进制或任意基数? 我正在运行gcc . printf("%d %x %o\n", 10, 10, 10); //prints "10 A 12\n" print("%b\n", 10); // prints "%b\n"
  • 1668 votes
     answers
     views

    JavaScript等效于printf / String.Format

    我正在寻找一个很好的JavaScript等价的C / PHP printf() 或C#/ Java程序员, String.Format() ( IFormatProvider for .NET) . 我的基本要求是现在有数千个数字分隔符格式,但处理许多组合(包括日期)的东西会很好 . 我意识到Microsoft的Ajax库提供了 String.Format() 的版本,但是我们不希望该框架的整...
  • 385 votes
     answers
     views

    printf中double的正确格式说明符

    printf中 double 的格式说明符是什么?是 %f 还是 %lf ?我相信它是 %f ,但我不确定 . 代码示例 #include <stdio.h> int main() { double d = 1.4; printf("%lf", d); // Is this wrong? }
  • 0 votes
     answers
     views

    Segfault scanf和fprintf

    我正在尝试编写一个小型数据库程序,它将有5个函数,第一个是Add(),但我在scanf上遇到SegFault错误: void Add(); struct data{ char name[20]; char description[300]; int quantity; }; typedef struct data data...
  • 303 votes
     answers
     views

    如何使用printf系列便携地打印size_t变量?

    我有一个 size_t 类型的变量,我想用 printf() 打印它 . 我使用什么格式说明符来便携地打印它? 在32位机器中, %u 似乎是对的 . 我用g -g -W -Wall -Werror -ansi -pedantic编译,没有警告 . 但是当我在64位机器中编译该代码时,它会产生警告 . size_t x = <something>; printf( "size...
  • 324 votes
     answers
     views

    在没有循环或条件的情况下打印1到1000

    Task :在不使用任何循环或条件语句的情况下打印1到1000之间的数字 . 不要只写1000次 printf() 或 cout 语句 . 你会怎么用C或C做到这一点?
  • -2 votes
     answers
     views

    请解释以下代码的输出[重复]

    这个问题在这里已有答案: Implicit int return value of C function 7个答案 有人可以解释下面代码的行为 . 为什么返回类型为 int 的函数message()返回printf()函数打印的字符数而没有任何return语句? #include <stdio.h> int message(); int main() { int c; ...
  • 408 votes
     answers
     views

    printf的格式很长的论点是什么?

    printf 函数采用参数类型,例如 %d 或 %i 用于 signed int . 但是,我没有看到 long 值的任何内容 .
  • 3 votes
     answers
     views

    OCaml:将字符串转换为('a,unit,string)格式?

    我需要从字符串转换为格式 . 我给了一系列格式,我想访问每种格式并在它们上使用sprintf . 例如 let errors = [| "format 1"; "format 2"; ... ; "format 512" |] let code_to_string (error_code : int) :(string) = sprint...
  • 0 votes
     answers
     views

    fprintf不接受一个字符数组吗?

    我一直收到一个关于write_file的参数的错误/警告,该参数从没有强制转换的整数中生成一个指针 . 我正在尝试将一个字符数组写入文件 . 我以为fprintf会收到一系列字符 .这是代码:(结尾的错误信息) # include <stdio.h> # include <stdlib.h> char take_char(); void write_file(char c...
  • 5 votes
     answers
     views

    如何将字符串赋值给int并将该int传递给printf正确打印字符串?

    为什么这样做? (即如何将 int 传递给 printf() 导致打印字符串) #include<stdio.h> int main() { int n="String"; printf("%s",n); return 0; } 警告:初始化从指针生成整数而没有强制转换[默认情况下启用] int n =“String...
  • 43 votes
     answers
     views

    Printf long long int in C with GCC?

    如何使用GCC在C99中printf long long int 和 unsigned long long int ? 我搜索了其他建议使用 %lld 的帖子,但是它给出了这些警告: 警告#1:格式为[-Wformat] |的未知转换类型字符'l'警告#2:格式参数太多[-Wformat-extra-args] | 对于以下尝试: #include <stdio.h> int ...
  • 2 votes
     answers
     views

    使用带浮点指针的printf会产生错误

    当我尝试编译此代码时: void main() { float x; x=6.5; printf("Value of x is %f, address of x %ld\n", x, &x); } 它给了我这个错误: pruebaso.c:在函数'main'中: pruebaso.c:5:9:警告:内置函数'printf'的不兼容隐式声明[默认启用] ...
  • -2 votes
     answers
     views

    指向结构的指针的格式说明符

    #include<stdio.h> #include<stdlib.h> struct Graph { int v; }; int main() { struct Graph* graph = (struct Graph*) malloc(sizeof(struct Graph)); graph -> v = 1; printf(...

热门问题