所以我開始學習java,我想知道是否可以使用「%n」參數(來自C printf()),它應該寫入寫入的字節數到 「%N」 參數:Java中的C格式說明符「%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
如何解決這個問題?
[格式器文檔](https://docs.oracle.com/javase/9/docs/api/java/util/Formatter.html#summary)將回答你的問題。 – VGR
它確實不應該在C中,因爲它是如此簡單的攻擊矢量。 – djechlin