【问题标题】:Declare a Character array Arr of size5声明一个大小为 5 的字符数组 Arr
【发布时间】:2020-11-07 05:40:22
【问题描述】:

声明一个大小为 5 的字符数组 Arr。在没有 scanf 的情况下将字符读入其中。使用指针变量,更改 Array 中的字符。 打印原始的 Arr,然后用 Address 打印更改后的数组。

【问题讨论】:

    标签: solver


    【解决方案1】:
    char *charArr[5]; // Declare a Character Array of Size 5 (1)
    fgets(charArr, 5, stdin); // Read characters into array without scanf (2)
    
    void change(int **array, int length){
        *array = malloc(length * sizeof(int));
        if (*array == NULL)
          return;
        for (int i = 0 ; i < length ; i++)
           (*array)[i] = 1;
        }
    }
    printf("%s\n", charArr); // simply prints array of chars (3.a) Inital array set of vals
    change(&charArr, 5); // change values within array
    printf("%s\n", charArr); // simply prints array of chars (3.b) array set of vals after change
    
    free(array); // Free's up Malloc
    

    我对 C 不是很熟悉,但我认为它是这样的。我设法使用以下资源推断出解决方案

    注意如果确实失败,请查看下面的 stackoverflow 链接。它描述了使用具有预定义内存的 malloc 可能会引发异常。

    资源:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多