所以我开始学习java,我想知道是否可以使用“%n”参数(来自C printf()),它应该写入写入“%n”参数的字节数:
这是它在 C: 中的使用
#include <stdio.h>
int main()
{
int val;
printf("ciao %n ciao\n", &val);
printf("val = %d\n", val);
return 0;
}
打印:
ciao ciao
val = 5
但是当我尝试在 java 中使用它时:
public class CharTest
{
public static void main(String[] argv)
{
int value;
System.out.printf("\nNumber of bytes written up to now: %n\n", &value);
System.out.println(value);
}
}
java 编译器给我这个消息:
CharTest.java:20: error: illegal start of expression
System.out.printf("\nNumber of bytes written up to now: %n\n", &value);
^
1 error
如何解决这个问题?
最佳答案
在 C 中,您可以通过引用传递参数,或者通过传递指针来更改传递给函数的变量值,%n
说明符存储到目前为止在 中写入的字符数value
,为了做到这一点,您必须使用 &value
将指针传递给 value
。
在 Java 中,不可能通过引用传递参数或传递变量指针,并且不可能使用相同的语法,&
运算符是按位与。 Java 中的 printf
%n
说明符打印特定于平台的行分隔符。
关于java - Java 中的 C 格式说明符 "%n",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46620796/