我想要了解什麼可以從用戶到以下程序的輸入,可以使輸出的幫助:U%ae'$ffq' ong string
什麼可能是這個程序可能的輸入?
int main(void) {
int i=0;
char j[22]="This is a long string", k[3];
scanf("%2s ", k);
sprintf(j, k);
printf("%s", j);
for (; i< 21; printf("%c", j[i++]))
;
return 1;
}
我不明白幾件事情:
ķ可以從用戶只得到兩個字符 - 這是什麼"%2s"
意味着,不是?然後寫入由j指向的數組k指向的內容,因此j
未指向k,但如果我們將j[5]
仍然得到i
。所以我不明白我們怎麼能得到這個輸入,因爲輸入將被切成兩個字符j[0], j[1]
將是來自輸入的兩個字符,其餘的j[i]
將是「這是一個長串」的原始剩餘部分。
你對程序的輸入是什麼,即在調用'scanf'後什麼是'k'? – 2012-07-18 11:00:28
另外,哪個輸出是錯誤的?獨立的'printf'或循環打印單個字符,還是兩者兼而有之? – 2012-07-18 11:01:48
@JoachimPileborg'幫助理解什麼可以是輸入'她/她想要逆向工程。 – 2012-07-18 11:02:32