我是否以某种错误的方式使用scanf()?
char *input;
scanf("%s", input);
printf("%s\n", input);
Run Code Online (Sandbox Code Playgroud)
这在运行时失败了.
%u用于无符号数字.
如果我使用%d而不是%u显示变量的地址,我会得到相同的结果.
我们%u仅仅用于道德规范,或者它也会产生任何真正的不同.
看一看:
int i=5;
printf("Address of i: %d", &i);
Run Code Online (Sandbox Code Playgroud)
与:
printf("Again, address: %u" ,&i);
Run Code Online (Sandbox Code Playgroud)
[编辑]将赞赏它生成不同输出的示例.