我想知道我用格式说明符看到的东西。我看到的是这样的:
@"%03.1f", someFloat
Run Code Online (Sandbox Code Playgroud)
我测试了它,它在日志中返回
"1.5"
Run Code Online (Sandbox Code Playgroud)
这叫什么,03.1中间的东西%f?
我正在开发一个应用程序,在该应用程序中我使用来自站点的 jsoup 解析 XML 文件并将其显示在 textview 上。我遇到的问题是 RSS 中包含的格式说明符 \n 不是 wprking。而不是进入新行,它只是显示 \n 原样。这是我的代码
hello = sb.toString();
String title, description = null;
Document document = Jsoup.parse(hello);
Elements a = document.getElementsByTag("item");
for (Element element : a) {
title = element.child(0).text();
description = element.getElementsByTag("description").get(0).text();
String src = Jsoup.parse(description).select("img").first().attr("src");
String id = Jsoup.parse(description).select("id").text();
description = Jsoup.parse(description).text();
description = description.replace(id, "");
description = description.replace("/", "\\");
list.add(new News(title, id, src, description ));
Run Code Online (Sandbox Code Playgroud)
描述包含 \n 标签,但在文本视图中它不起作用,如图所示。正如您在第一行中看到的那样,而不是进入新行 \n 显示原样。

的时候,不包括%d和%C规范之间的空白在scanf函数的在下面的程序格式字符串,并在运行时间期间为"4小时"给输入,则输出是"整数= 4和字符= .
在这种情况下,变量"c"如何获取输入,如果我在%d和%c规范之间包含空格,它会有什么不同?
#include <stdio.h>
int main()
{
char c;
int i;
printf("Enter an Integer and a character:\n");
scanf("%d %c",&i,&c);
printf("Integer = %d and Character = %c\n",i,c);
getch();
}
Run Code Online (Sandbox Code Playgroud) 我必须将char数组初始化为0.我做到了
char array[256] = {0};
Run Code Online (Sandbox Code Playgroud)
我想检查它是否有效,所以我尝试了它
#include <stdio.h>
int main()
{
char s[256] = {0};
printf("%c\n", s[10]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在编译并运行它之后,命令行输出什么都没有显示.
我错过了什么?也许我以错误的方式初始化了数组?
%.02f 和 %.2f 有什么区别?据我了解,点后面的任何数字都表示将数字转换为字符串时要显示的小数位数。但是,当像 %.02 这样的点后面有两个数字时,这意味着什么?
看看下面的一段代码:
#include <stdio.h>
int main()
{
int i;
for (i = 48; i < 58; i++)
{
printf("%d", i);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:48495051525354555657
但是,如果你改变printf("%d", i);到printf("%c", i);输出变为:0123456789
不应同时输出48495051525354555657为什么代时输出不同的d使用c?
我的代码:
package main
import (
"fmt"
)
type Point struct {
x int
y int
}
func main() {
fmt.Println(&Point{1, 2})
fmt.Printf("%v\n", &Point{1, 2})
fmt.Printf("%p\n", &Point{1, 2})
}
Run Code Online (Sandbox Code Playgroud)
输出:
&{1 2}
&{1 2}
0xc00002c070
Run Code Online (Sandbox Code Playgroud)
这与https://godoc.org/fmt中的文档不匹配。文档说,
%v 的默认格式是:
Run Code Online (Sandbox Code Playgroud)bool: %t int, int8 etc.: %d uint, uint8 etc.: %d, %#x if printed with %#v float32, complex64, etc: %g string: %s chan: %p pointer: %p
根据上面的文档,对于指针, using%v应该像 using 一样%p。
那么为什么 的输出fmt.Printf("%v\n", &Point{1, 2})与 的输出不匹配fmt.Printf("%p\n", …
我编写此代码是为了“查找给定字符是否是数字”:
#include<stdio.h>
int main()
{
char ch;
printf("enter a character");
scanf("%c", &ch);
printf("%c", ch>='0'&&ch<='9');
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它已编译,但在获取输入后没有给出任何输出。然而,在将%c倒数第二行更改为%d格式说明符后,它确实起作用了。我有点困惑为什么%d有效但%c没有,尽管变量是char数据类型。
在这里获取此代码来打印打开的文件的名称(如果您想知道,它是高度图),每次我尝试打印时都会收到格式警告,我应该使用哪种格式说明符?
unsigned char* data = stbi_load("textures/height.png", &width, &height, &nr_components, 0);
printf("Loaded file: %u\n", data);
Run Code Online (Sandbox Code Playgroud) %.8Ffprintf 中的格式说明符有什么作用?
什么F意思?