如何使用sprintf在结构中写入char
我为学校写了这个程序,但即使它完成了,dev cpp最后还是给了我一个SIGSEGV错误。 通过在谷歌上搜索,我发现我的问题可能来自于我的结构中与我的角色有关的一切。 我试图用sprintf在我的char-nom[10]和char-nom_团队[10]上写文章。 我这样做是因为我想在默认的“玩家”名称上添加一个数字,如下所示: 玩家1,玩家2 我不知道我到底想在什么地方写我不拥有的记忆。 我不知道还有什么其他方法可以达到玩家1,玩家2,。。。事情也一样 谢谢你的帮助 编辑(迈克尔·沃尔兹评论后的完整代码和编辑) 及 我只得到这个如何使用sprintf在结构中写入char,c,C,我为学校写了这个程序,但即使它完成了,dev cpp最后还是给了我一个SIGSEGV错误。 通过在谷歌上搜索,我发现我的问题可能来自于我的结构中与我的角色有关的一切。 我试图用sprintf在我的char-nom[10]和char-nom_团队[10]上写文章。 我这样做是因为我想在默认的“玩家”名称上添加一个数字,如下所示: 玩家1,玩家2 我不知道我到底想在什么地方写我不拥有的记忆。 我不知道还有什么其他方法可以达到玩家1,玩家2,。。。事情也一样 谢谢你的帮助 编辑(迈克尔·沃尔兹评论后的
name : player 1
HP : 103
ATK : 19
DEF : 9
name : player 2
HP : 100
ATK : 12
DEF : 6
name : player 3
HP : 107
ATK : 12
DEF : 8
name : player 4
HP : 101
ATK : 19
DEF : 6
name : player 5
HP : 108
ATK : 17
DEF : 8
--------------------------------
Process exited after 2.507 seconds with return value 3221225477
Appuyez sur une touche pour continuer...
我想要的结果是这样的(除了t2 wins被写入时)@■b“在“垂直”的底部:
在任何一种情况下,当我只是使用dev cpp编译和运行程序时,windows告诉我一切都完成后程序崩溃了。
当我使用
最后我得到了SIGSEGV错误
注2:我们还没有学习snprintf,所以我不允许使用这个命令;没有实际的输入;关于给出SIGSEGV错误的那一行,我不知道如何让dev cpp说出它是哪一行,我得到的唯一方法是将代码块转换成注释(显然是保留一个可编译的程序)直到错误消失,我把我带到这一行:
sprintf(p->name,"player %d",i); //applying player name
您的
团队数组有2个元素,但您正在将内容放入索引1和索引2中。C中的数组是基于零的-第一个元素是[0]
,因此您希望使用元素[0]
和[1]
:
Team t[2];
...
sprintf(t[0].name_team,"%s","Orange");
sprintf(t[1].name_team,"%s","Verte");
...
// etc - change all t[1] references to t[0], and all t[2] references to t[1]
另外,将for
循环更改为for(i=0;i您的团队
数组有2个元素,但您正在将内容放入索引1和2中。C中的数组是基于零的-第一个元素是[0]
,因此您希望使用元素[0]
和[1]
:
Team t[2];
...
sprintf(t[0].name_team,"%s","Orange");
sprintf(t[1].name_team,"%s","Verte");
...
// etc - change all t[1] references to t[0], and all t[2] references to t[1]
同时将for
循环更改为for(i=0;i保存完整代码。在init_Perso
中i
是否超过99?如果超过99,则您的sprintf(p->nom…
将超过您分配给p->nom
的10个字节。如果看不到您正在调用init_Perso
的位置,很难判断您在该区域是否有bug。这是研究使用GDB并逐步完成程序的好时机。char nom[10]
和char nom_团队[10];
:10有点短,试着[100]
而不是[10]
。如果问题消失了,你知道该往哪里看……请说明你如何称呼init\u团队
。问题的根源可能在那里。发布完整的代码。在init\u Perso
中,i
有没有超过99?如果有,那么你的sprint>(p->nom…
将超过您分配给p->nom
的10个字节。如果看不到您正在调用init_Perso
的位置,很难判断您在该区域是否有bug。这是研究使用GDB并逐步完成程序的好时机。char nom[10]
和char nom_团队[10];
:10有点短,请尝试[100]
而不是[10]
。如果问题消失了,您知道该往哪里看……请说明如何调用init_team
。您的问题可能就在那里。非常感谢!它现在工作正常。有没有办法将此问题标记为“已解决”的非常感谢!它现在运行得很好。有没有办法将这个问题标记为“已解决”?
name : player 1
HP : 109
ATK : 14
DEF : 9
name : player 2
HP : 106
ATK : 12
DEF : 8
name : player 3
HP : 106
ATK : 17
DEF : 8
name : player 4
HP : 100
ATK : 11
DEF : 8
name : player 5
HP : 103
ATK : 12
DEF : 9
name : player 6
HP : 106
ATK : 12
DEF : 6
name : player 7
HP : 105
ATK : 13
DEF : 7
name : player 8
HP : 107
ATK : 19
DEF : 7
name : player 9
HP : 100
ATK : 16
DEF : 8
name : player 10
HP : 105
ATK : 11
DEF : 9
Gerald de la team Orange contre Gandalf de la team Verte
HP p1 : 109
HP p2 : 106
DAM : 8
HP p1 : 109
HP p2 : 98
DAM : 3
HP p1 : 106
HP p2 : 98
DAM : 8
HP p1 : 106
HP p2 : 90
DAM : 3
HP p1 : 103
HP p2 : 90
DAM : 8
HP p1 : 103
HP p2 : 82
DAM : 3
HP p1 : 100
HP p2 : 82
DAM : 8
HP p1 : 100
HP p2 : 74
DAM : 3
HP p1 : 97
HP p2 : 74
DAM : 8
HP p1 : 97
HP p2 : 66
DAM : 3
HP p1 : 94
HP p2 : 66
DAM : 8
HP p1 : 94
HP p2 : 58
DAM : 3
HP p1 : 91
HP p2 : 58
DAM : 8
HP p1 : 91
HP p2 : 50
DAM : 3
HP p1 : 88
HP p2 : 50
DAM : 8
HP p1 : 88
HP p2 : 42
DAM : 3
HP p1 : 85
HP p2 : 42
DAM : 8
HP p1 : 85
HP p2 : 34
DAM : 3
HP p1 : 82
HP p2 : 34
DAM : 8
HP p1 : 82
HP p2 : 26
DAM : 3
HP p1 : 79
HP p2 : 26
DAM : 8
HP p1 : 79
HP p2 : 18
DAM : 3
HP p1 : 76
HP p2 : 18
DAM : 8
HP p1 : 76
HP p2 : 10
DAM : 3
HP p1 : 73
HP p2 : 10
DAM : 8
HP p1 : 73
HP p2 : 2
DAM : 3
HP p1 : 70
HP p2 : 2
DAM : 8
Gerald de la team Orange contre Jaena de la team Verte
HP p1 : 70
HP p2 : 105
DAM : 7
HP p1 : 70
HP p2 : 98
DAM : 4
HP p1 : 66
HP p2 : 98
DAM : 7
HP p1 : 66
HP p2 : 91
DAM : 4
HP p1 : 62
HP p2 : 91
DAM : 7
HP p1 : 62
HP p2 : 84
DAM : 4
HP p1 : 58
HP p2 : 84
DAM : 7
HP p1 : 58
HP p2 : 77
DAM : 4
HP p1 : 54
HP p2 : 77
DAM : 7
HP p1 : 54
HP p2 : 70
DAM : 4
HP p1 : 50
HP p2 : 70
DAM : 7
HP p1 : 50
HP p2 : 63
DAM : 4
HP p1 : 46
HP p2 : 63
DAM : 7
HP p1 : 46
HP p2 : 56
DAM : 4
HP p1 : 42
HP p2 : 56
DAM : 7
HP p1 : 42
HP p2 : 49
DAM : 4
HP p1 : 38
HP p2 : 49
DAM : 7
HP p1 : 38
HP p2 : 42
DAM : 4
HP p1 : 34
HP p2 : 42
DAM : 7
HP p1 : 34
HP p2 : 35
DAM : 4
HP p1 : 30
HP p2 : 35
DAM : 7
HP p1 : 30
HP p2 : 28
DAM : 4
HP p1 : 26
HP p2 : 28
DAM : 7
HP p1 : 26
HP p2 : 21
DAM : 4
HP p1 : 22
HP p2 : 21
DAM : 7
HP p1 : 22
HP p2 : 14
DAM : 4
HP p1 : 18
HP p2 : 14
DAM : 7
HP p1 : 18
HP p2 : 7
DAM : 4
HP p1 : 14
HP p2 : 7
DAM : 7
Gerald de la team Orange contre Philip de la team Verte
HP p1 : 14
HP p2 : 107
DAM : 7
HP p1 : 14
HP p2 : 100
DAM : 10
HP p1 : 4
HP p2 : 100
DAM : 7
HP p1 : 4
HP p2 : 93
DAM : 10
Ilda de la team Orange contre Philip de la team Verte
HP p1 : 106
HP p2 : 93
DAM : 5
HP p1 : 106
HP p2 : 88
DAM : 11
HP p1 : 95
HP p2 : 88
DAM : 5
HP p1 : 95
HP p2 : 83
DAM : 11
HP p1 : 84
HP p2 : 83
DAM : 5
HP p1 : 84
HP p2 : 78
DAM : 11
HP p1 : 73
HP p2 : 78
DAM : 5
HP p1 : 73
HP p2 : 73
DAM : 11
HP p1 : 62
HP p2 : 73
DAM : 5
HP p1 : 62
HP p2 : 68
DAM : 11
HP p1 : 51
HP p2 : 68
DAM : 5
HP p1 : 51
HP p2 : 63
DAM : 11
HP p1 : 40
HP p2 : 63
DAM : 5
HP p1 : 40
HP p2 : 58
DAM : 11
HP p1 : 29
HP p2 : 58
DAM : 5
HP p1 : 29
HP p2 : 53
DAM : 11
HP p1 : 18
HP p2 : 53
DAM : 5
HP p1 : 18
HP p2 : 48
DAM : 11
HP p1 : 7
HP p2 : 48
DAM : 5
HP p1 : 7
HP p2 : 43
DAM : 11
Falion de la team Orange contre Philip de la team Verte
HP p1 : 106
HP p2 : 43
DAM : 10
HP p1 : 106
HP p2 : 33
DAM : 11
HP p1 : 95
HP p2 : 33
DAM : 10
HP p1 : 95
HP p2 : 23
DAM : 11
HP p1 : 84
HP p2 : 23
DAM : 10
HP p1 : 84
HP p2 : 13
DAM : 11
HP p1 : 73
HP p2 : 13
DAM : 10
HP p1 : 73
HP p2 : 3
DAM : 11
HP p1 : 62
HP p2 : 3
DAM : 10
Falion de la team Orange contre Astrid de la team Verte
HP p1 : 62
HP p2 : 100
DAM : 9
HP p1 : 62
HP p2 : 91
DAM : 8
HP p1 : 54
HP p2 : 91
DAM : 9
HP p1 : 54
HP p2 : 82
DAM : 8
HP p1 : 46
HP p2 : 82
DAM : 9
HP p1 : 46
HP p2 : 73
DAM : 8
HP p1 : 38
HP p2 : 73
DAM : 9
HP p1 : 38
HP p2 : 64
DAM : 8
HP p1 : 30
HP p2 : 64
DAM : 9
HP p1 : 30
HP p2 : 55
DAM : 8
HP p1 : 22
HP p2 : 55
DAM : 9
HP p1 : 22
HP p2 : 46
DAM : 8
HP p1 : 14
HP p2 : 46
DAM : 9
HP p1 : 14
HP p2 : 37
DAM : 8
HP p1 : 6
HP p2 : 37
DAM : 9
HP p1 : 6
HP p2 : 28
DAM : 8
Thor de la team Orange contre Astrid de la team Verte
HP p1 : 100
HP p2 : 28
DAM : 3
HP p1 : 100
HP p2 : 25
DAM : 8
HP p1 : 92
HP p2 : 25
DAM : 3
HP p1 : 92
HP p2 : 22
DAM : 8
HP p1 : 84
HP p2 : 22
DAM : 3
HP p1 : 84
HP p2 : 19
DAM : 8
HP p1 : 76
HP p2 : 19
DAM : 3
HP p1 : 76
HP p2 : 16
DAM : 8
HP p1 : 68
HP p2 : 16
DAM : 3
HP p1 : 68
HP p2 : 13
DAM : 8
HP p1 : 60
HP p2 : 13
DAM : 3
HP p1 : 60
HP p2 : 10
DAM : 8
HP p1 : 52
HP p2 : 10
DAM : 3
HP p1 : 52
HP p2 : 7
DAM : 8
HP p1 : 44
HP p2 : 7
DAM : 3
HP p1 : 44
HP p2 : 4
DAM : 8
HP p1 : 36
HP p2 : 4
DAM : 3
HP p1 : 36
HP p2 : 1
DAM : 8
HP p1 : 28
HP p2 : 1
DAM : 3
Thor de la team Orange contre Ponchaut de la team Verte
HP p1 : 28
HP p2 : 105
DAM : 2
HP p1 : 28
HP p2 : 103
DAM : 3
HP p1 : 25
HP p2 : 103
DAM : 2
HP p1 : 25
HP p2 : 101
DAM : 3
HP p1 : 22
HP p2 : 101
DAM : 2
HP p1 : 22
HP p2 : 99
DAM : 3
HP p1 : 19
HP p2 : 99
DAM : 2
HP p1 : 19
HP p2 : 97
DAM : 3
HP p1 : 16
HP p2 : 97
DAM : 2
HP p1 : 16
HP p2 : 95
DAM : 3
HP p1 : 13
HP p2 : 95
DAM : 2
HP p1 : 13
HP p2 : 93
DAM : 3
HP p1 : 10
HP p2 : 93
DAM : 2
HP p1 : 10
HP p2 : 91
DAM : 3
HP p1 : 7
HP p2 : 91
DAM : 2
HP p1 : 7
HP p2 : 89
DAM : 3
HP p1 : 4
HP p2 : 89
DAM : 2
HP p1 : 4
HP p2 : 87
DAM : 3
HP p1 : 1
HP p2 : 87
DAM : 2
HP p1 : 1
HP p2 : 85
DAM : 3
Ralof de la team Orange contre Ponchaut de la team Verte
HP p1 : 103
HP p2 : 85
DAM : 3
HP p1 : 103
HP p2 : 82
DAM : 2
HP p1 : 101
HP p2 : 82
DAM : 3
HP p1 : 101
HP p2 : 79
DAM : 2
HP p1 : 99
HP p2 : 79
DAM : 3
HP p1 : 99
HP p2 : 76
DAM : 2
HP p1 : 97
HP p2 : 76
DAM : 3
HP p1 : 97
HP p2 : 73
DAM : 2
HP p1 : 95
HP p2 : 73
DAM : 3
HP p1 : 95
HP p2 : 70
DAM : 2
HP p1 : 93
HP p2 : 70
DAM : 3
HP p1 : 93
HP p2 : 67
DAM : 2
HP p1 : 91
HP p2 : 67
DAM : 3
HP p1 : 91
HP p2 : 64
DAM : 2
HP p1 : 89
HP p2 : 64
DAM : 3
HP p1 : 89
HP p2 : 61
DAM : 2
HP p1 : 87
HP p2 : 61
DAM : 3
HP p1 : 87
HP p2 : 58
DAM : 2
HP p1 : 85
HP p2 : 58
DAM : 3
HP p1 : 85
HP p2 : 55
DAM : 2
HP p1 : 83
HP p2 : 55
DAM : 3
HP p1 : 83
HP p2 : 52
DAM : 2
HP p1 : 81
HP p2 : 52
DAM : 3
HP p1 : 81
HP p2 : 49
DAM : 2
HP p1 : 79
HP p2 : 49
DAM : 3
HP p1 : 79
HP p2 : 46
DAM : 2
HP p1 : 77
HP p2 : 46
DAM : 3
HP p1 : 77
HP p2 : 43
DAM : 2
HP p1 : 75
HP p2 : 43
DAM : 3
HP p1 : 75
HP p2 : 40
DAM : 2
HP p1 : 73
HP p2 : 40
DAM : 3
HP p1 : 73
HP p2 : 37
DAM : 2
HP p1 : 71
HP p2 : 37
DAM : 3
HP p1 : 71
HP p2 : 34
DAM : 2
HP p1 : 69
HP p2 : 34
DAM : 3
HP p1 : 69
HP p2 : 31
DAM : 2
HP p1 : 67
HP p2 : 31
DAM : 3
HP p1 : 67
HP p2 : 28
DAM : 2
HP p1 : 65
HP p2 : 28
DAM : 3
HP p1 : 65
HP p2 : 25
DAM : 2
HP p1 : 63
HP p2 : 25
DAM : 3
HP p1 : 63
HP p2 : 22
DAM : 2
HP p1 : 61
HP p2 : 22
DAM : 3
HP p1 : 61
HP p2 : 19
DAM : 2
HP p1 : 59
HP p2 : 19
DAM : 3
HP p1 : 59
HP p2 : 16
DAM : 2
HP p1 : 57
HP p2 : 16
DAM : 3
HP p1 : 57
HP p2 : 13
DAM : 2
HP p1 : 55
HP p2 : 13
DAM : 3
HP p1 : 55
HP p2 : 10
DAM : 2
HP p1 : 53
HP p2 : 10
DAM : 3
HP p1 : 53
HP p2 : 7
DAM : 2
HP p1 : 51
HP p2 : 7
DAM : 3
HP p1 : 51
HP p2 : 4
DAM : 2
HP p1 : 49
HP p2 : 4
DAM : 3
HP p1 : 49
HP p2 : 1
DAM : 2
HP p1 : 47
HP p2 : 1
DAM : 3
Orange
--------------------------------
Process exited after 5.682 seconds with return value 3221225477
Appuyez sur une touche pour continuer...
sprintf(p->name,"player %d",i); //applying player name
Team t[2];
...
sprintf(t[0].name_team,"%s","Orange");
sprintf(t[1].name_team,"%s","Verte");
...
// etc - change all t[1] references to t[0], and all t[2] references to t[1]