BruceCamus 2019-10-02 10:18 采纳率: 50%
浏览 211
已采纳

学c语言时发现的问题,无论"d"后写“a”或"fdskja"输出结果都是4206628,想知道是怎么回事,谢谢大佬

#include

int main(){

printf("%d","a");
return 0;}

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-10-02 10:21
    关注

    这是因为编译器默认在静态区放入字符串的地址是一样的,而%d后面加字符串,输出的是这个地址

    你用printf("%d",'a');
    单引号,可以输出ascii(要考虑little endian和padding的问题)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?