我想要了解什么可以从用户到以下程序的输入,可以使输出的帮助: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