format-specifiers相关内容
当我在%d 和%c 规范之间不包括空格时, scanf()函数在以下程序中运行,并在运行时输入“ 4 h”,则输出为“ Integer = 4 and Character =。 在这种情况下,变量“ c” 到底有多精确?如果我在%d 和%c 规范? 代码 #include int main() { char c; int i; print
..
所以我偶然发现了这段代码,却无法弄清楚它的目的是什么,或者它是如何工作的: int word_count; scanf(“%d%* c”,& word_count); 我首先想到的是%* d 引用了 char 指针或不允许 word_count 提取 char 变量。 有人可以对此加以说明吗? 解决方案 * c 表示将读取一个字符但将其赢了不
..
我想知道为什么输出为0.000000。 我知道使用float格式说明符或使用b类型的值类型来打印int会产生未指定的行为,如许多地方所写。 我引用了它 ““如果转换规范无效,则行为是 undefined。如果有的话参数不是对应的 转换规范的正确类型,行为未定义。“ 但是它总是给0.000000必须在寄存器或汇编代码中定义一些内容。 总之,我想知道对于任何i值,输出始终为0
..
%d 和%i 在 printf ? 解决方案 用于输出时,它们是相同的,例如与 printf 。 但是,当用作输入说明符时,它们是不同的,例如使用 scanf ,其中%d 扫描整数作为带符号的十进制数,而%i 默认为十进制,但也允许十六进制(如果以 0x 开头)和八进制(如果以 0 )。 所以 033 将是27,其中%i ,但33个%d 。
..
我已经在borland c编译器中编写了以下程序.我的疑问是为什么c编译器在编译时或运行时都不会抛出任何错误.该程序执行正常,输出为2 4. #include #include int main(){ int a=2,b=4,c=6; printf("%d%d",a,b,c); getch(); return 0; } 即使格式说明符的数目少于参数的数
..
我必须为大学做一个计划,在这个计划中,我应该将一定数量的人,喜欢的人和不喜欢某些东西的人分开. 所以我这样做了: char like[100]; printf("Like? Y or N \n"); scanf ("%c", like); 该程序已编译,但未按应有的方式运行.当询问“喜欢吗?"时,用户无法写"y或n" 所以我尝试了这个: ch
..
浏览时,我看到了格式说明符%qd github 代码.然后我检查了GCC编译器,它工作正常. #include int main() { long long num = 1; printf("%qd\n", num); return 0; } printf()中的格式说明符%qd的用途是什么? 解决方案 尽管在正常的google搜
..
printf中的%.8Ff格式说明符是做什么的? F是什么意思? 解决方案 根据手动: F转换说明符产生 用"INF","INFINITY"或"NAN"代替 "inf","infinity"或"nan", 分别. 在格式字符串%.8Ff中,f被视为文字字符并打印为f.
..
在C语言中,最适合与printf和scanf函数一起使用的数据类型BYTE,WORD和DWORD的格式说明符是什么? 我很难在控制台上显示BPB字段的值. 例如,如果我尝试使用“%lu"显示BPB_BytsPerSec,我将得到不寻常的数字. printf("Bytes per Sector: %lu", b->BPB_BytsPerSec); 我得到的值为"514",我认为这是错
..
PHP中是否可以像Python中那样命名说明符? 我想要在PHP中使用它: $foo = array('name' => 24); printf("%(name)d", $foo); 我在google或php手册中找不到任何相关内容. 解决方案 很好的问题! 通过使用正则表达式,您可以自己滚动自己而没有太多麻烦.我基于调用 vsprintf 的想法来实现该实现内置pr
..
我正在处理交叉编译到几种目标体系结构的代码. 我看了命中,它从堆栈溢出中搜索"printf size_t未知转换类型字符"警告,但是这些帖子似乎都与minGW有关,因此这些答案(本质上是ifdef反对_WIN32)不适用于我的基本相同问题的实例,即printf无法识别"%zu"作为格式说明符用于size_t,但带有mips交叉编译器. 是否存在一个现有的编译器标志(用于指定的交叉编译器
..
Visual Studio具有大小和距离规范图表说我可以做这样的事情,使用h前缀指定单字节字符串,而不管printf还是wprintf: int main() { char test[]= "abc"; _tprintf(_T("%hs\n"),test); } 但是,如果我使用mingw gcc和-Wall编译相同的内容,则会收到以下警告: warning: format '%hs'
..
%g说明符的行为似乎不像大多数来源记录的那样. 根据我发现的大多数资料,在使用printf指示符的多种语言中,%g指示符应等效于%f或%e-两者对于所提供的内容都会产生较短的输出价值.例如,在撰写此问题时, cplusplus.com 说,g说明符的意思是: 使用最短的表示形式:%e或%f PHP手册说,它表示: g-%e 和%f 中的较短者. 和这是一个堆栈溢出答案
..
我是PHP程序员,不知道这行是什么意思。 System.out.printf(“exp(%。 3f)是%。3f%n“,x,Math.exp(x)) 什么是%。3f,%。3f%n和逗号x表示? 解决方案 它类似于C的 printf : http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.
..
我发现%g只在需要时显示小数。如果数字是整数,则不添加尾随.000,这样就好了。 但是在例如1.12345的情况下,我希望它将答案缩短到1.123。 在1.000的情况下我想只显示1,因为%g已经存在。 我试图在字符串中指定%。3g ,但这不起作用。 如果有人有答案,我将不胜感激! 解决方案 我查看了“格式字符串”的功能“通过 IEEE规范,据我所知,你希望的行为不是可能。
..
我想做这样的事情: NSLog(@“你得到:%x”,booleanValue); 其中x是说明符。但我找不到一个!我想避免: if(booleanValue){ NSLog(@“你得到:是”); } else { NSLog(@“你得到:否”); } 有什么想法吗?文档没有布尔说明符。 %@ 也不起作用。 解决方案 这里有两
..
std :: numeric_limits :: min() 当我调用std :: cout时,得到1.17549e-38的输出值 相反,当我使用 printf(“%f”,std :: numeric_limits
..
我有这个简单的程式 pre $ #include int main(void) { unsigned int a = 0x120; float b = 1.2; printf(“%X%X \\\ ”,b,a); 返回0; } 我预计输出为 some-value 120(某些值将取决于float b的位模式) 但我看到
..
在printf中 double 的格式说明符是什么?是%f 还是%lf ?我相信它的%f 但我不确定。 代码示例 #include int main() { double d = 1.4; printf(“%lf”,d); //这是错的吗? } 解决方案 “%f”是双重格式(或至少一个)正确的格式。 print
..
我有一个日期时间字符串: 20:48:01.469 UTC 2016年3月31日 我想使用将时间的这个字符串表示转换为 struct tm strptime ,但是我的格式字符串不工作。 有小数秒的格式说明符吗?也许%S ,%s 还是其他? 代码段如下: tm tmbuf; const char * str =“20:48:01.469 UTC March 31
..