警告从整数生成指针而不进行强制转换

用户名

swap函数获取增量传输的问题时,使用了指针,但是在调用swap函数时,无法将参数(str)传递给该函数。警告是:传递'strcmp'的参数2使指针从整数开始而没有强制转换[默认启用]。

有人可以帮忙吗?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void swap(char *str);
void copy (const int size,  char array[3][5]);
int main(void) {
     char a[5];
     char b[5];
     char c[5];
     char dst[3][5];

     scanf("%s", a);
     swap(a);
     strcpy(dst[0], a);

     scanf("%s", b);
     swap(b);
     strcpy(dst[1], b);

     scanf("%s", c);
     swap(c);
     strcpy(dst[2], c);


    copy(3, dst);


    return 0;
}

void copy (const int size,  char array[3][5]){
    int i;
    char temp[5];
    for (i=0;i<3;i++){
        if(strcmp(array[i],array[i+1])<0)
        {
            strcpy(temp, array[i]);
            strcpy(array[i], array[i+1]);
            strcpy(array[i+1], temp);
        }
    }
    for (i=0; i<3;i++){

        printf("%s\n", array[i]);
    }
    return;
}
void swap(char *str){
    char temp2;
    int j=0;
  for (;j<5;j++){
      if(strcmp(str[j],str[j+1])<0){
    strcpy(temp2, str[j]);
    strcpy(&str[j], str[j+1]);
    strcpy(str[j+1], temp2);
      }
  }
    return;
}
阿比舍克·乔贝(Abhishek Choubey)

问题源:交换函数的for循环中的Ist语句

  void swap(char *str)
    {
    //code
    //for_loop
    if(strcmp(str[j],str[j+1])<0)
    //code
    }

这里的问题是strcmp将两个字符串作为其参数,但是通过使用str [j + 1]
可以给它一个字符。

因为你有
char * str; //指向字符数组的指针(字符串)

“ str [i + 1]”表示字符串str中第(i + 1)位的字符。
那就是为什么它给错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C语言中的强制转换警告:赋值使指针不进行强制转换而生成整数

来自分类Dev

C - 赋值从指针生成整数而不进行强制转换

来自分类Dev

警告:传递“memcpy”的参数 1 使指针从整数而不进行强制转换

来自分类Dev

无法禁用 gcc 警告 - 从整数创建指针而不进行强制转换

来自分类Dev

警告:赋值使指针从整数而不进行强制转换 [-Wint-conversion]

来自分类Dev

赋值使指针从整数变为整数,而不进行强制转换

来自分类Dev

为什么编译器会发出“警告:赋值从指针进行整数转换而不进行强制转换”?

来自分类Dev

为什么编译器会发出“警告:赋值从指针进行整数转换而不进行强制转换”?

来自分类Dev

传递参数使指针来自整数而不进行强制转换

来自分类Dev

警告:赋值从整数开始取整,而不进行强制转换

来自分类Dev

有没有办法在返回数组中不使用指针?(警告:传递 'arrangef' 的参数 1 使指针从整数而不进行强制转换。)

来自分类Dev

“传递'goodString'的参数1使指针从整数而不进行强制转换”编译器错误-C

来自分类Dev

使用 strcmp,初始化使指针从整数而不进行强制转换

来自分类Dev

二维数组错误 - 使指针指向整数而不进行强制转换

来自分类Dev

数组初始化中的“初始化使指针不进行强制转换而使整数成为整数”

来自分类Dev

使用char malloc的“警告:赋值从指针进行整数转换而无需强制转换”

来自分类Dev

警告:初始化会从指针进行整数转换而无需强制转换

来自分类Dev

警告:赋值会从指针进行整数转换而无需强制转换。怎么了?

来自分类Dev

如何在C中不进行赋值而强制转换指针?

来自分类Dev

赋值从指针生成整数,而无需在C中进行强制转换

来自分类Dev

从整数(pointer)生成指针(整数)而无需强制转换

来自分类Dev

编译器为什么会发出问题:警告:赋值从指针进行整数转换而无需强制转换

来自分类Dev

赋值使指针从整数开始而没有强制转换警告

来自分类Dev

赋值使指针产生整数,而没有强制转换警告

来自分类Dev

从指针强制转换为不同大小的整数警告

来自分类Dev

警告:赋值使指针从整数开始而没有在malloc进行强制转换(默认情况下启用)

来自分类Dev

比较两个字符串时出现错误“传递 'strcmp' 的参数 2 使指针来自整数而不进行强制转换”

来自分类Dev

警告:将指针从大小不同的整数强制转换为强制指针

来自分类Dev

赋值使整数生成指针而无需强制转换结构

Related 相关文章

  1. 1

    C语言中的强制转换警告:赋值使指针不进行强制转换而生成整数

  2. 2

    C - 赋值从指针生成整数而不进行强制转换

  3. 3

    警告:传递“memcpy”的参数 1 使指针从整数而不进行强制转换

  4. 4

    无法禁用 gcc 警告 - 从整数创建指针而不进行强制转换

  5. 5

    警告:赋值使指针从整数而不进行强制转换 [-Wint-conversion]

  6. 6

    赋值使指针从整数变为整数,而不进行强制转换

  7. 7

    为什么编译器会发出“警告:赋值从指针进行整数转换而不进行强制转换”?

  8. 8

    为什么编译器会发出“警告:赋值从指针进行整数转换而不进行强制转换”?

  9. 9

    传递参数使指针来自整数而不进行强制转换

  10. 10

    警告:赋值从整数开始取整,而不进行强制转换

  11. 11

    有没有办法在返回数组中不使用指针?(警告:传递 'arrangef' 的参数 1 使指针从整数而不进行强制转换。)

  12. 12

    “传递'goodString'的参数1使指针从整数而不进行强制转换”编译器错误-C

  13. 13

    使用 strcmp,初始化使指针从整数而不进行强制转换

  14. 14

    二维数组错误 - 使指针指向整数而不进行强制转换

  15. 15

    数组初始化中的“初始化使指针不进行强制转换而使整数成为整数”

  16. 16

    使用char malloc的“警告:赋值从指针进行整数转换而无需强制转换”

  17. 17

    警告:初始化会从指针进行整数转换而无需强制转换

  18. 18

    警告:赋值会从指针进行整数转换而无需强制转换。怎么了?

  19. 19

    如何在C中不进行赋值而强制转换指针?

  20. 20

    赋值从指针生成整数,而无需在C中进行强制转换

  21. 21

    从整数(pointer)生成指针(整数)而无需强制转换

  22. 22

    编译器为什么会发出问题:警告:赋值从指针进行整数转换而无需强制转换

  23. 23

    赋值使指针从整数开始而没有强制转换警告

  24. 24

    赋值使指针产生整数,而没有强制转换警告

  25. 25

    从指针强制转换为不同大小的整数警告

  26. 26

    警告:赋值使指针从整数开始而没有在malloc进行强制转换(默认情况下启用)

  27. 27

    比较两个字符串时出现错误“传递 'strcmp' 的参数 2 使指针来自整数而不进行强制转换”

  28. 28

    警告:将指针从大小不同的整数强制转换为强制指针

  29. 29

    赋值使整数生成指针而无需强制转换结构

热门标签

归档