Tag: &符号

为什么我不需要带扫描的&符号? (在C中)

void getnums(int *a, int *b); int main() { int a; int b; int c; getnums(&a,&b); c = a + b; printf(“a + b = %d\n”, c); return 0; } void getnums(int *a, int *b) { printf(“a:? “); scanf(“%d”, a); printf(“b:? “); scanf(“%d”, b); } 为什么我不需要在scanfs中的a和b之前使用&符号? (该代码目前有效。)

&符号(&)和C中的scanf?

我有以下多项选择题,我无法弄清楚为什么(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()需要&运营商(地址)在某些情况下,而不是其他情况?

为什么我们需要在scanf()放置一个&运算符来存储整数数组中的值,而不是将字符串存储在char数组中? int a[5]; for(i=0;i<5;i++) scanf("%d",&a[i]); 但 char s[5]; scanf(“%s”,s); 我们需要传入存储值的地址,因为数组是指向第一个元素的指针。 因此在int / float数组的情况下,它基本上意味着(a+i) 。 但是字符串的情况怎么样?