我是C新手,面临着: #include <stdio.h> #include <inttypes.h> int main(void) { uint64_t foo = 10; printf("foo is equal to %" PRIu64 "!\n", foo); return 0; } 它的工作原理! 我不明白为什么? 有人可以帮我吗? 非常感谢! 托
我试图写一个函数接受像printf可变数量的参数,做一些东西,然后将variables列表传递给printf。 我不知道如何做到这一点,因为它似乎将它们推到堆栈上。 大概是这样的 http://pastie.org/694844 #include <stdio.h> #include <stdarg.h> void forward_args( const char *format , … ){ va_list arglist; printf( format, arglist ); } int main (int argc, char const *argv[]){ forward_args( "%s %s\n" , "hello" , "world" ); return 0; } 有任何想法吗?
我不知道time_t的数据types。 这是一个浮动双或其他东西? 因为如果我想显示它,我需要与printf相对应的标签。 我可以从那里处理其余的显示time_t但我需要知道与之相对应的数据types。
我在Windows上使用最新的gcc与Netbeans。 为什么不long double工作? printf说明符%lf错的吗? 码: #include <stdio.h> int main(void) { float aboat = 32000.0; double abet = 5.32e-5; long double dip = 5.32e-5; printf("%f can be written %e\n", aboat, aboat); printf("%f can be written %e\n", abet, abet); printf("%lf can be written %le\n", dip, dip); return 0; } 输出: 32000.000000 can be written 3.200000e+004 0.000053 can […]
我试图打印字符作为正面价值: char ch = 212; printf("%u", ch); 但是我得到: 4294967252 我怎么能得到输出?
说我有以下几点: char* string = "Hello, how are you?"; 是否有可能只打印出这个string的最后5个字节? 那么只有前5个字节呢? 是否有一些可以允许的printf变体?
我想要做一些像printf("?", count, char)重复一个字符count次。 什么是正确的格式string来完成这个? 编辑:是的,很明显,我可以在循环中调用printf() ,但这正是我想要避免的。
我正面临着sprintf的严重问题。 假设我的代码片段是: sprintf(Buffer,"Hello World"); sprintf(Buffer,"Good Morning"); sprintf(Buffer,"Good Afternoon"); . . . 一些冲刺… 如果我这样做,它会被覆盖。 我怎样才能避免使用sprintf覆盖。 如果我在最后给出一个printf,我想看看所有的行。
我试图写一个数字到两位小数使用printf() ,如下所示: #include <cstdio> int main() { printf("When this number: %d is assigned to 2 dp, it will be: 2%f ", 94.9456, 94.9456); return 0; } 当我运行该程序时,我得到以下输出: # ./printf When this number: -1243822529 is assigned to 2 db, it will be: 2-0.000000 这是为什么? 谢谢。
毕竟,这两个陈述都是一样的。 int a = 10; int *b = &a; printf("%p\n",b); printf("%08X\n",b); 例如(使用不同的地址): 0012FEE0 0012FEE0 根据需要使用%x来设置指针的格式很简单,那么是否有%p选项的使用?