gpt4 book ai didi

c - 如何在c中找到字符串的位模式

转载 作者:行者123 更新时间:2023-12-02 22:07:11 24 4
gpt4 key购买 nike

我有以下两个问题

  1. 给定这样的语句 char * str = "999999999999";编译器如何确定在堆栈上分配多少空间?

  2. 如何遍历 str 指向的内存并确定其中各个位的值?

最佳答案

  1. “999999999999” 不在堆栈中。指针可能在堆栈上,编译器知道指针应该有多大。 "999999999999" 确实有一个空终止符,让您知道它何时结束。

  2. 要遍历每一位,可能是这样的:

    for(i=0; str[i]; i++)  // str[i] will evaluate to false(0) when that character is the null
    for(j=7; j>=0; j--)
    printf("%d", (str[i] >> j) & 0x01)

    但我更喜欢看十六进制表示的位而不是二进制,所以我只是

    for(i=0; str[i]; i++)
    print("%X ", str[i])

关于c - 如何在c中找到字符串的位模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15930688/

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