Мой фон - C #, у меня есть следующий код (на C), который мне нужен, чтобы сказать, какой будет вывод:
#include <stdio.h>
#define N 10
int main()
{
int a[N] = { 3,4 }; //<-- [3][4][0][0][0][0][0][0][0][0]
int *q = a; //<-- some address
char s[N] = "abcdefg";
int k = s[*a] - s[a[*q]]; //<-- what is that mean ?
char *p = s;
a[k] = k;
printf("%d %s\n",k,p+a[k]);
printf("%d %d %d %d %d",q[0],q[1],q[2],q[3],q[4]);
return 0;
}
Может кто-нибудь объяснить, пожалуйста, о строке номер 4?
Я не могу понять s[*a]
это значит s
при индексе *a
?но *a
- это адрес, а не целое число.тот же вопрос о s[a[*q]]