小编Vin*_*z.R的帖子

我执行二分查找的代码哪里出错了?

我正在为二分搜索算法编写代码。

代码:

#include "cs50.h"

int main(void) {
    int n = GetInt();
    int value = GetInt();
    int values[n];

    for (int i = 0; i < n; i++) {
        printf("Put in number %i ", i + 1);
        values[i] = GetInt();
    }

    int mid = (n - 1) / 2;
    int en = 0;
    int ex = n - 1;

    for (int i = 0, xt = i + 1; i < xt; i++) {
        if (value > values[mid]) {
            en = mid; …
Run Code Online (Sandbox Code Playgroud)

c algorithm binary-search cs50

3
推荐指数
1
解决办法
438
查看次数

如何获取指针所指向的内存位置的地址

 #include <stdio.h>

    int main(void)
    {
        int i = 3;
        int* j = &i;
        printf("%u",j);
    }
Run Code Online (Sandbox Code Playgroud)

上面的代码应该打印出包含整数3的内存块的地址(一个无符号整数)。但我却收到了这个错误 error: format specifies type 'unsigned int' but the argument has type 'int *'- 。

我从各种来源确认:
1.*j指“存储在 j 中的地址处的值”
2.&j指存储指针 j 的内存块的地址。
3. j 包含一个 unsigned int 值,它是 j 指向的内存块的地址。

c pointers

1
推荐指数
1
解决办法
4118
查看次数

标签 统计

c ×2

algorithm ×1

binary-search ×1

cs50 ×1

pointers ×1