gpt4 book ai didi

c - 使用数组对函数进行基本初始化

转载 作者:行者123 更新时间:2023-11-30 14:35:31 26 4
gpt4 key购买 nike

当前正在设置一个函数来声明 4 部分七段显示器(基本上是数字闹钟)的情况,但在尝试确认其设置正确时不断出现错误(特别是从核心开口行)已尝试环顾四周,但对于我需要的数组来说,没有什么足够具体的。

只是对代码的注释。我之前没有正确设置代码块,所以我不确定如何突出显示语法。如果设置正确,请忽略此消息最初将其设置为 int SegmentWrite(int...[]) 但不会产生结果。我尝试过的其他测试是在左大括号之前包含一个大小 [10][7],以声明计数和大小,将类型从 byte 更改为 int、char 和 float(尽管只有 byte 产生任何类型的结果,而不是我想要)

void SegmentWrite (int SegmentDigits[]){
byte SegmentDigits = zero[7] {1,1,1,1,1,1,0};//0
one[7] = {0,1,1,0,0,0,0};//1
two[7] = {1,1,0,1,1,0,1};//2
three[7] = {1,1,1,1,0,0,1};//3
four[7] = {0,1,1,0,0,1,1};//4
five[7] = {1,0,1,1,0,1,1};//5
six[7] = {1,0,1,1,1,1,1};//6
seven[7] = {1,1,1,0,0,0,0};//7
eight[7] = {1,1,1,1,1,1,1};//8
nine[7] = {1,1,1,1,0,1,1}; //9

这个特定的代码片段不应该做任何事情——至少它本身不应该做任何事情。在验证时,为了确认正确的格式,我只收到错误报告“'byte SegmentDigits'的声明隐藏了一个参数”,并突出显示了第一行。- 请注意,发现另一个错误,特别是开头行 - “'SegmentWrite' 声明为 void 数组”或“'SegmentWrite' 声明为返回数组的函数”

最佳答案

您需要为函数中的参数数组和本地数组使用不同的名称。

此外,该函数应该采用另一个参数,即您要显示的数字。

然后您应该声明一个二维数组,并且可以使用该数字作为它的索引。

void SegmentWrite (int SegmentDigits[7], int digit){
int allSegmentDigits[][7] = {
{1,1,1,1,1,1,0},//0
{0,1,1,0,0,0,0},//1
{1,1,0,1,1,0,1},//2
{1,1,1,1,0,0,1},//3
{0,1,1,0,0,1,1},//4
{1,0,1,1,0,1,1},//5
{1,0,1,1,1,1,1},//6
{1,1,1,0,0,0,0},//7
{1,1,1,1,1,1,1},//8
{1,1,1,1,0,1,1}} //9
memcpy(SegmentDigits, allSegmentDigits[digit], sizeof allSegmentDigits[0]);
}

关于c - 使用数组对函数进行基本初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58478180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com