我的头文件中有一个结构数组,我在主文件中写了一些代码。
char temp, index;
for (index = 0; index < 5; index++)
temp = cards[index].foo;
我注意到temp得到了第一个char的值但是它不会改变 之后;即如果struct array中的第一个char是&#39; c&#39;那就得到了&#39; c&#39; 但如果第二个字符是&#39; f&#39;它不会得到&#39; f&#39; - 它会留在&#39; c&#39;。
我该如何解决这个问题?
我的struct数组在我的标题中,看起来像这样
struct x{
char foo;
} cards[Size];
答案 0 :(得分:1)
Hai bro我只是在C中试过你的代码似乎工作正常.... 我的头文件是
#include<stdio.h>
#define Size 5
struct x
{
char foo;
} cards[Size];
主要是:
#include <stdio.h>
#include <stdlib.h>
#include"my.h"
int main()
{
int i,index;
char temp;
for (i = 0; i < 5; i++)
cards[i].foo = 'a' + i;
for (index = 0; index < 5; index++)
{
printf("c[%d].foo = %c\n", index, cards[index].foo);
temp = cards[index].foo;
printf("t = %c\n", temp);
}
}
输出是:
c[0].foo = a
t = a
c[1].foo = b
t = b
c[2].foo = c
t = c
c[3].foo = d
t = d
c[4].foo = e
t = e