小编Ste*_*ocy的帖子

为什么需要转换指针算术?

如果我想迭代一个字符串,在这种情况下'test',我可以像这样使用指针算法来获取下一个字符:

char *c = "test";
*c++;
putchar(*c);
Run Code Online (Sandbox Code Playgroud)

这将打印第二个字母'e'.

但是,如果我想去第三个角色,为什么我不能说:

char *c = "test";
c = *c + 2;        //*c = *c + 2; also doesn't work
putchar(*c);       //Exception thrown: write access violation.
Run Code Online (Sandbox Code Playgroud)

据我所知,使用指针算法获取第三个字符的唯一方法是像这样强制转换它:

char *c = "test";
c = (char *) c + 2;
putchar(*c);
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释为什么会这样吗?

c pointers

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

这个快速排序代码有什么问题

这个快速排序代码出了什么问题我输出错误输出:

#include<stdio.h>

void quick_sort(int A[], int start, int end) {
    int pIndex;

    if (start < end) {
        pIndex=partion(A,start,end);
        quick_sort(A,start,pIndex-1);
        quick_sort(A,pIndex+1,end);
    }

}

int partion(int A[], int start, int end) {
    int i, temp, pIndex = start;
    int pivot = A[end];

    for (i = start; i < end; i++) {
        if (A[i] <= pivot) {
            temp = A[i];
            A[i] = A[pIndex];
            A[pIndex] = A[i];
            pIndex++;
        }
    }

    temp = A[pIndex];
    A[pIndex] = A[end];
    A[end] = temp;
    return pIndex;
}

int main() …
Run Code Online (Sandbox Code Playgroud)

c sorting quicksort

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

为什么 scanf 可以使用 for 循环读取一行中的多个输入?

我想将给定的 n 个值(n 已知)存储在一个数组中,但我不知道该怎么做,所以我查看并找到了这篇文章:C, read multiple numbers from single input line (scanf?),还有这个回答:

int main()
{
    int i, size, *v;
    scanf("%d", &size);
    v = malloc(size * sizeof(int));
    for (i=0; i<size; i++)
        scanf("%d", &v[i]);
    printf("%d %d %d", v[0], v[1], v[2]);
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么 scanf 可以这样做,函数不应该在循环的每次迭代中要求另一个输入吗?只要它们以空格分隔,它如何读取一个int,然后读取另一个等等?scanf 怎么会这样呢?因为好像不应该。

PS:为了简单起见,我只用 3 个值编写了最终的打印语句,在“我的情况”中,大小为 3。

先感谢您!

c

-1
推荐指数
2
解决办法
1506
查看次数

在C中,将2个双精度转换为一个字符串

我有这两个变量C:

double predict_label = 6.0;
double prob_estimates = 8.0;
Run Code Online (Sandbox Code Playgroud)

如何将这两个变量转换Cchar并打印出一个字符串,其中包含"预测标签的值为6,概率估计值为8"的字符串.

c printf type-conversion

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

标签 统计

c ×4

pointers ×1

printf ×1

quicksort ×1

sorting ×1

type-conversion ×1