char如何转换为int

img


第二个函数调用第一个函数那里应该如何改正,如何转换,也请把正确答案写一下谢谢啦

img

char-'0'即可得到结果。

第一个函数的形参可以写成直接对char交换。

【以下回答由 GPT 生成】

问题分析: 1. 代码中存在函数的声明和实现不匹配的问题。 2. 使用指针时,应该用*取出指针指向的值,而不是指针本身。 3. scanf函数中,应该使用%c来接收字符,而不是%d。 4. 在排序函数中,应该使用char类型来接收字符,而不是int类型。 5. 在排序函数中,应该使用char*来接收指向字符的指针,而不是int*类型。

修改方案:

#include<stdio.h>

void Swap(char *x, char *y) {
    char temp;
    temp = *x;
    *x = *y;
    *y = temp;
}

void Sort(char *p, int m) {
    int i;
    char *p1, *p2;

    for(i = 0; i < m/2; i++) {
        p1 = p + i;
        p2 = p + (m-1-i);
        Swap(p1, p2);
    }
}

int main() {
    int i;
    char num[7];

    for(i = 0; i < 7; i++) {
        scanf("%c", &num[i]);
    }

    Sort(num, 7);

    for(i = 0; i < 7; i++) {
        printf("%c", num[i]);
    }

    return 0;
}

修改后的代码已经修正了前述的错误,并能正常将字符反序输出。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^