gpt4 book ai didi

c - C 中的 & 和 scanf ?

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

我有以下多项选择题,我无法弄清楚为什么(A)和(C)不正确,任何解释将不胜感激!下列问题唯一正确答案是(B)。

Which of the following is a correct usage of scanf?
(A) int i=0; scanf("%d", i);
(B) int i=0; int *p=&i; scanf("%d", p);
(C) char *s="1234567"; scanf("%3s", &s);
(D) char c; scanf("%c", c);

最佳答案

scanf 想要一个正确的地址来存储结果:

(A) int i=0; scanf("%d", i);

i 在这里按值传递,没有地址:错误。

(B) int i=0; int *p=&i; scanf("%d", p);

p 是一个指向 int 的指针,scanf 可以将其结果存储在这里:对

(C) char *s="1234567"; scanf("%3s", &s);

&s 是指向 char * 的指针的地址,不能在那里存储字符串:错误

(D) char c; scanf("%c", c);

c 按值传递,而不是地址:错误

关于c - C 中的 & 和 scanf ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41034973/

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