C语言中的结构和字符串

马尔卡迪卡塔

我开始学习C语言,并编写了一个简短的程序来实现结构。目前,它仅具有一个结构和一个短函数,该函数应该填充其中一个结构(几个存储在数组中)。程序获取所有值(当前仅用于一种结构以帮助我了解发生了什么),问题开始于main,

printf("%s", tablica[0].nazwa);

因为程序停止响应(之前没有错误或警告)。

如果我放:

printf("%d", tablica[0].x);

它将打印我输入为x的值,所以我知道printf中的字符串存在一些问题(但我不知道为什么)。这可能很简单,但我只是一个初学者。

#include <stdio.h>
#include <string.h>

struct struktura
{
    char *nazwa;
    double x, y, z;
};

int wczytaj(struct struktura tab[])
{
    int i;
    for ( i = 0; i<1; i++)
        {
        printf("Podaj nazwe: ");
        scanf("%s", &tab[i].nazwa);
        printf("Podaj x: ");
        scanf("%i", &tab[i].x);
        printf("Podaj y: ");
        scanf("%i", &tab[i].y);
        printf("Podaj z: ");
        scanf("%i", &tab[i].z);
        };
    return 0;
}

int main(struct struktura* a)
{   int i;
    struct struktura tablica[6];
    int wyniki[6][6];
    wczytaj(tablica);
    printf("%s", tablica[0].nazwa);
}

抱歉,某些名字用波兰语写,我可以纠正,但希望它不会使程序模糊。

风向标

您为中的double类型使用了错误的格式说明符

scanf("%i", &tab[i].x);
printf("%d", tablica[0].x);

和别的。他们应该是

scanf("%lf", &tab[i].x);
printf("%f", tablica[0].x);

也是这个字符串输入

scanf("%s", &tab[i].nazwa);

应该像这样失去&符号

scanf("%s", tab[i].nazwa);

但即使如此,nazwa没有分配内存如注释中所建议,您可以使用固定数组,例如

struct struktura
{
    char nazwa[30];
    double x, y, z;
};

您的签名非常稀有main,通常是

int main(void)

或者

int main(int argc, char *argv[])

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

关于C语言中的数组和字符串的困惑

来自分类Dev

如何在C语言中将字符串与结构一起使用?

来自分类Dev

在字符串C语言中查找空格和字母数字字符

来自分类Dev

在C语言中将“字符串”拆分为字符

来自分类Dev

在C语言中,如何找到字符串中的'\'字符?

来自分类Dev

语言中字符串的串联读取 LTR 和 RTL

来自分类Dev

C语言中的%d和%p printf格式字符串指令之间的区别?

来自分类Dev

在C语言中,“字符串” [4]这样的含义和含义是什么?

来自分类Dev

使用 File IO 和 2Darray 比较 C 语言中的字符串错误

来自分类Dev

关于C语言中的printf格式字符串

来自分类Dev

在C语言中为指针分配字符串

来自分类Dev

C语言中“字符串”的通用交换

来自分类Dev

递归C语言中的字符串计算器

来自分类Dev

在C语言中传递空字符串(“”)是否不好?

来自分类Dev

C语言中的字符串矩阵(类似于Matlab)

来自分类Dev

C语言中的Quicksort字符串数组

来自分类Dev

比较C语言中的字符串数组

来自分类Dev

C语言中的字符串操作:这可能吗?

来自分类Dev

用用户输入操作C语言中的字符串

来自分类Dev

递归C语言中的字符串计算器

来自分类Dev

为什么在C语言中“字符串”被视为“常量”?

来自分类Dev

核心语言中的字符串比较

来自分类Dev

C语言中的方法和结构

来自分类Dev

使用C语言中的“ sscanf”函数解析字符串中的子字符串

来自分类Dev

在Groovy语言中如何根据字符串中的值和位置替换字符串中的字符

来自分类Dev

如何在C语言中的字符串中随机播放字符

来自分类Dev

如何在Google查询语言中使用子字符串和charindex

来自分类Dev

我想探索Java语言中像C语言这样的字符串的整个字符

来自分类Dev

为什么将字符串传递给scanf()在C语言中可以正常编译?

Related 相关文章

  1. 1

    关于C语言中的数组和字符串的困惑

  2. 2

    如何在C语言中将字符串与结构一起使用?

  3. 3

    在字符串C语言中查找空格和字母数字字符

  4. 4

    在C语言中将“字符串”拆分为字符

  5. 5

    在C语言中,如何找到字符串中的'\'字符?

  6. 6

    语言中字符串的串联读取 LTR 和 RTL

  7. 7

    C语言中的%d和%p printf格式字符串指令之间的区别?

  8. 8

    在C语言中,“字符串” [4]这样的含义和含义是什么?

  9. 9

    使用 File IO 和 2Darray 比较 C 语言中的字符串错误

  10. 10

    关于C语言中的printf格式字符串

  11. 11

    在C语言中为指针分配字符串

  12. 12

    C语言中“字符串”的通用交换

  13. 13

    递归C语言中的字符串计算器

  14. 14

    在C语言中传递空字符串(“”)是否不好?

  15. 15

    C语言中的字符串矩阵(类似于Matlab)

  16. 16

    C语言中的Quicksort字符串数组

  17. 17

    比较C语言中的字符串数组

  18. 18

    C语言中的字符串操作:这可能吗?

  19. 19

    用用户输入操作C语言中的字符串

  20. 20

    递归C语言中的字符串计算器

  21. 21

    为什么在C语言中“字符串”被视为“常量”?

  22. 22

    核心语言中的字符串比较

  23. 23

    C语言中的方法和结构

  24. 24

    使用C语言中的“ sscanf”函数解析字符串中的子字符串

  25. 25

    在Groovy语言中如何根据字符串中的值和位置替换字符串中的字符

  26. 26

    如何在C语言中的字符串中随机播放字符

  27. 27

    如何在Google查询语言中使用子字符串和charindex

  28. 28

    我想探索Java语言中像C语言这样的字符串的整个字符

  29. 29

    为什么将字符串传递给scanf()在C语言中可以正常编译?

热门标签

归档