gpt4 book ai didi

c - C 中的赋值

转载 作者:太空宇宙 更新时间:2023-11-04 00:21:00 27 4
gpt4 key购买 nike

这是一道基础的C编程题

下面的声明是做什么的?

int * doorptr, * doorlimit = is_open + NUM_DOORS;

我认为它为 *doorptr 和 doorlim 分配了相同的值,所以我尝试打印以下内容以查看:

#include <stdio.h>

#define NUM_DOORS 100

int main(int argc, char *argv[]){

int is_open[NUM_DOORS] = { 0 };
int * doorptr, * doorlimit = is_open + NUM_DOORS;

printf("doorptr: %p\n doorlimit: %p\n", doorptr, doorlimit);
printf("*doorptr: %d\n *doorlimit: %d\n", *doorptr, *doorlimit);

return 0;
}

但是输出是:

doorptr: 0xb777ec20
doorlimit: 0xbf86c0d0
*doorptr: 0
*doorlimit: -1217134592

最佳答案

int * doorptr, * doorlimit = is_open + NUM_DOORS;

以上语句的意思

int * doorptr;
int * doorlimit = is_open + NUM_DOORS;

仅对 doorlimit 进行赋值。 因此两者的值不同。

关于c - C 中的赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24723655/

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