如何声明一个字符串,以便它的长度由用户在c中给出?

机械师45

因此,我被要求这样做,我这样做是这样的:

    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {        
        int N,i;
        printf("Give the number of char's you want to input.\n");
        scanf("%d",&N);

        char *str = (char*) malloc(N);

        //this segment inputs the char's to the string.
        printf("Input the char's.\n"); 
        for (i=0;i<N;i++)
        {
           str[i] = getchar();
        }
        str[N] = '\0';
    }

由于我很喜欢c,所以我想知道是否还有其他/更好的方法可以做到这一点。提前致谢。

吊床

使用可变长度数组(在C99和更高版本中允许)或使用动态内存分配您的方法是使用VLA。您还可以动态地执行以下操作:

int N;
printf("Give the number of char's you want to input.\n");
scanf("%d",&N);

char *str = malloc(N+1);  

旁注:

  • 更改main为其正确的签名int main(void)
  • 数组索引从0C开始。初始化i为,0而不是,1将上限设置为i < Nfor循环更改
for (int i = 0; i < N; i++)  
{
     str[i] = scanf(" %c");
} 
str[N] = '\0';
  • 根据H2CO3的建议,请勿使用scanf,尤其是与H2CO3一起使用grtchar
    使用fgets代替。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 PostgreSQL 函数中声明一个字符串?

来自分类Dev

在C中声明一个字符串/单词变量

来自分类Dev

从函数接收一个字符串数组并找出它的长度

来自分类Dev

仅当子字符串的长度超过 3 个字符时,如何大写它的第一个字符

来自分类Dev

如何从C中的字符串保存最后一个字符?

来自分类Dev

如何从C的字符串中仅取回一个字符?

来自分类Dev

如何提取长度未知的字符串的最后一个字符?

来自分类Dev

C字符串比定义的长度短一个字符?

来自分类Dev

C-复制未知长度字符串中的最后一个字符

来自分类Dev

计算C中一个字符串中n个长度字的出现次数

来自分类Dev

如何找到一个字符串的长度

来自分类Dev

C#如何交换字符串中的第一个字符与最后一个字符

来自分类Dev

如何创建一个字符串并使用以它命名的函数?

来自分类Dev

如何声明构造内的最后一个字符串以if语句?

来自分类Dev

构建一个字符串并在终端python中运行它

来自分类Dev

如何计算将在Python中打印的下一个字符串的长度?

来自分类Dev

如何从(C)中的另一个字符串获取子字符串

来自分类Dev

如何证明给定一个字符串是它的反向,它的尾部也是它的反向?

来自分类Dev

当 argv 是一个字符数组时,它如何是一个字符串数组?

来自分类Dev

如何检查一个字符串变量中的每个字母?

来自分类Dev

如何从IronPyhon中的字符串中删除最后一个字符?

来自分类Dev

如何从mongodb中的字符串中获取最后一个字符?

来自分类Dev

如何检查可变长度数组中的任何字符串是否存在于另一个字符串中?

来自分类Dev

如何在Lua中的另一个字符串中插入一个字符串?

来自分类Dev

如何在C#中动态删除字符串中的最后一个字符

来自分类Dev

Ruby:如何计算一个字符串出现在另一个字符串中的次数?

来自分类Dev

如何在jquery中的另一个字符串中间附加一个字符串变量?

来自分类Dev

如何在Shell中获取另一个字符串中一个字符串的行号

来自分类Dev

如何从另一个字符串中删除一个字符串?

Related 相关文章

  1. 1

    如何在 PostgreSQL 函数中声明一个字符串?

  2. 2

    在C中声明一个字符串/单词变量

  3. 3

    从函数接收一个字符串数组并找出它的长度

  4. 4

    仅当子字符串的长度超过 3 个字符时,如何大写它的第一个字符

  5. 5

    如何从C中的字符串保存最后一个字符?

  6. 6

    如何从C的字符串中仅取回一个字符?

  7. 7

    如何提取长度未知的字符串的最后一个字符?

  8. 8

    C字符串比定义的长度短一个字符?

  9. 9

    C-复制未知长度字符串中的最后一个字符

  10. 10

    计算C中一个字符串中n个长度字的出现次数

  11. 11

    如何找到一个字符串的长度

  12. 12

    C#如何交换字符串中的第一个字符与最后一个字符

  13. 13

    如何创建一个字符串并使用以它命名的函数?

  14. 14

    如何声明构造内的最后一个字符串以if语句?

  15. 15

    构建一个字符串并在终端python中运行它

  16. 16

    如何计算将在Python中打印的下一个字符串的长度?

  17. 17

    如何从(C)中的另一个字符串获取子字符串

  18. 18

    如何证明给定一个字符串是它的反向,它的尾部也是它的反向?

  19. 19

    当 argv 是一个字符数组时,它如何是一个字符串数组?

  20. 20

    如何检查一个字符串变量中的每个字母?

  21. 21

    如何从IronPyhon中的字符串中删除最后一个字符?

  22. 22

    如何从mongodb中的字符串中获取最后一个字符?

  23. 23

    如何检查可变长度数组中的任何字符串是否存在于另一个字符串中?

  24. 24

    如何在Lua中的另一个字符串中插入一个字符串?

  25. 25

    如何在C#中动态删除字符串中的最后一个字符

  26. 26

    Ruby:如何计算一个字符串出现在另一个字符串中的次数?

  27. 27

    如何在jquery中的另一个字符串中间附加一个字符串变量?

  28. 28

    如何在Shell中获取另一个字符串中一个字符串的行号

  29. 29

    如何从另一个字符串中删除一个字符串?

热门标签

归档