gpt4 book ai didi

c - 将 int 的地址分配给 char 指针

转载 作者:太空宇宙 更新时间:2023-11-04 05:10:20 26 4
gpt4 key购买 nike

在下面的程序中,假设a存放在地址1000处,一个int占用4bytes的存储空间。现在,c 将指向基地址,即 1000,将其递增 3 将使它指向地址 1003。现在,打印 c 指向的字符必须给我对应于 ascii 65 的字符。但它什么也没打印!

#include<stdio.h>
#include<stdlib.h>

int main(){
int a = 65;
char *c = &a;
printf("%c\n", *(c+3));
}

我的推理有什么问题?

最佳答案

您没有考虑字节顺序。在小端系统上,'a'(或者如果编码不兼容 ASCII,无论 65 是什么)将在第一个字节中,另一个字节为 0。将 0 字节传递给 printf("%c\n",_); 除了换行符外什么都不打印。

关于c - 将 int 的地址分配给 char 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17133520/

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