printf

    0热度

    1回答

    在以下程序中,printf()函数根据参数索引规范进行打印。 #include <stdio.h> int main() { printf("%3$d %4$f %2$d %1$d\n", 1, 2, 3, 4.5); } 输出: 3 4.500000 2 1 所以,我有问题,有效期是任何编译器或仅支持GCC编译器?

    0热度

    1回答

    据我所知,在%gprintf的转换规则是使用%e或%E如果指数小于-4或者大于或等于精度;否则使用%f。不打印尾部零和尾部小数点。 但是,下面的输出是很奇怪: printf("%g %G\n", 10.123456789, 10.12345); // output: 10.1235 10.1235 由于%g精度为6,我想这将输出1.e+01,但事实并非如此。谁能帮我理解这一点?

    3热度

    2回答

    是否有可能为数据类型以编程方式推导出格式说明符?例如,如果打印是很长一段,它会自动不一样的东西: printf("Vlaue of var is <fmt_spec> ", var); 我也觉得它会减少开发商的一部分,一些错误,因为像 printf("Name is %s",int_val); //Oops, int_val would be treated as an address p

    1热度

    2回答

    我正在修改我的基本C为即将到来的测验做准备,当时我正在编写一个函数来简单地接受一个字符输入并将其存储到结构中并再次打印出来。编译没有任何问题,但我不断收到合理的问题。我该如何解决? #include <stdio.h> struct player { char letter; int age; double avg; }; int main() {

    4热度

    3回答

    我知道%%用来逃避字符串中的实际%迹象,所以%%%ds最终会在以下格式字符串%10s,但我不知道为什么我在这个字符串需要%%5s? 毕竟,只有两个附加参数(BUFFSIZE/10)。 #define BUFFSIZE 100 char buf[100]={0} sprintf(buf, "%%5s %%%ds %%%ds", BUFFSIZE/10, BUFFSIZE/10); 运行上面的

    8热度

    3回答

    As others have discussed,GLSL缺少任何printf调试。 但有时我真的想在调试着色器时检查数值。 我一直在尝试创建一个可视化调试工具。 我发现如果使用sampler2D(其中已在等宽线中渲染),则可以在着色器中相当容易地渲染任意系列的数字, 。基本上,你只是玩弄你的x坐标。 现在,用这个来检查浮点数,我需要一个算法转换float 为十进制数字序列,比如你可以在任何pri

    0热度

    1回答

    我想分割字符串中变量的十六进制值。为此,我使用sprintf。但我得到一个错误:Segmentation fault (core dumped) 下面是我试过的代码: #include <stdio.h> #include <string.h> int main() { char* t1; char* t2; int n = 0x23A; sprintf(t1, "%X", n

    0热度

    1回答

    此字符串的奇怪故障发生(Python的2.7.13 - Linux的): import SimpleHTTPServer, SocketServer httpd = SocketServer.TCPServer(("", 8080), SimpleHTTPServer.SimpleHTTPRequestHandler) # this fails: print "%s" % (httpd.s

    0热度

    2回答

    有人可以解释或指向我解释了为什么在第一印刷行下面的代码片段包括整个单词hello的参考,而在第二个它是由只有字母he?我认为退格转义字符会删除最后三个字母,而不考虑换行符。我已阅读关于printf的GNU文档,但无法找到任何关于点的信息。 int main(void) { printf("hello\b\b\b\n"); return 0; } int main

    0热度

    1回答

    并非所有输出都与“column3”一致。是否有特殊的方法来减去某些数字不对齐的空格?我是否需要创建单独的printf语句,也许? 随着我的下面(可怕的看)printf语句 printf("%d \t%lf \t\t%lf \t%lf %lf \n", i, row1[i], row2[i], row3[i], row4[i]); 继承人我得到什么: # Column Column1 Co