gpt4 book ai didi

c - 输出怎么会是 1 而不是 j 的地址

转载 作者:行者123 更新时间:2023-11-30 18:33:24 25 4
gpt4 key购买 nike

为什么输出是 1,而不是我对每个字母表尝试过的 j 的地址,但它仍然给出 1 作为输出

这个程序怎么没有给出 j 的地址,为什么它给出 1 作为输出,我尝试将每个字母作为输入,但它仍然给出 1?

#include "stdio.h"
int main()
{
char arr[100];
printf("%d", scanf("%s", arr));
/* Suppose that input value given
for above scanf is "jje" */
return 2;
}

它不应该给出第一个字母的地址,即 j

最佳答案

没有。您正在打印 scanf 的返回值。这不是任何地址,但是(强调我的地址):

On success, the function returns the number of items of the argument list successfully filled. This count can match the expected number of items or be less (even zero) due to a matching failure, a reading error, or the reach of the end-of-file.

由于 scanf 结果成功匹配 %d,因此您将得到 1

如果您想打印该地址,即arr的地址,您可以尝试

printf("%p", arr);

关于c - 输出怎么会是 1 而不是 j 的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57803057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com