arrays - 与c中的数组相关的指针问题的输出是什么,为什么?
问题描述
我无法预测这个问题的答案,也无法从逻辑上得到解决方案?虽然它可能有点简单,但作为一个初学者,我无法得到它?
int main()
{
int array[5][5];
printf("%d",( (array == *array) && (*array == array[0]) ));
return 0;
}
解决方案
基本上它是一个简单的寻址问题。
- 的地址和
array
的地址一样*array
吗?(是的,尽管它们的类型不同 - 不同的数组) - 的地址是否与 的地址
*array
相同array[0]
?(是的,它们是相同的——里面的第一个 int 数组array
) - 现在
1 && 1
评估为 1(布尔条件评估为 1 或 0)
PS。正如@Lundin 所说,这个问题是无效的 C
推荐阅读
- angular - 如何将 CKEditor 4 插件安装到 Angular
- php - 如何在 php 中将数组值作为键值对插入到数据库表中
- apache-kafka - Nifi Consume Kafka 添加虚假记录
- xml - Xpath - 删除重复和排序的不同列表
- .net - 使用 Chilkat 从 SFTP 目录中删除所有内容
- c - 是否存在需要明确指定 auto 关键字的现实生活场景?
- javascript - 路由路由组件必须是 react 组件
- javascript - 提交按钮不会将第二个查询字符串添加到 url
- angular - 如何在角度 7 中显示从 .ts 类到 .html 的日期格式?
- json - 验证 JSON 时出现异常“EOF”