我对以下代码有疑问:
#define NUM_DAYS 60
#define NUM_PEOPLE 30
int days[NUM_DAYS];
int people[NUM_PEOPLE];
int size;
size = sizeof(day) > sizeof(people) ? sizeof(day) : sizeof(people);
Run Code Online (Sandbox Code Playgroud)
虽然可以将宏NUM_PEOPLE更改为大于NUM_DAYS或小于NUM_DAYS,但我收到警告:
Warning 506: Constant value Boolean,如何解决?还是有其他方法可以绕过它,除了将常量变为变量?
我有一个列表如下:
set list1 {1,2,3,4,5,6,7,8,9}
Run Code Online (Sandbox Code Playgroud)
如何每次将它的三个元素复制到另一个列表?
例如复制后:
listc1 is {1,2,3}
listc2 is {4,5,6}
listc3 is {7,8,9}
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
#define NUM_STUDENTS 20
#define TIME_STUDENTS 10
typedef struct
{
int name;
int age;
} Student;
typedef struct
{
int number;
int post;
} Contact;
typedef struct
{
int number;
Student students[TIME_STUDENTS][NUM_STUDENTS];
Contact contact[NUM_STUDENTS];
} Master;
typedef struct
{
int number;
Student students[NUM_STUDENTS][NUM_STUDENTS];
Contact contact[NUM_STUDENTS];
} Info;
Info info;
Master master;
//fill the data for master
if(NUM_STUDENTS < 10)
{
memcpy(&info.student[0][0],
&master.student[0][0],
sizeof(Student) * NUM_STUDENTS * NUM_STUDENTS);
}
Run Code Online (Sandbox Code Playgroud)
的NUM_STUDENTS可从被修改1到20.但是我得到了以下警告:
Warning 420: Apparent access beyond …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
int dst[5];
int src[100];
// assign value to array src
memcpy(&dst[0], &src[0], sizeof(int) * 100);
Run Code Online (Sandbox Code Playgroud)
在这种情况下会发生什么?只会将前5个元素复制到数组中dst吗?或程序会崩溃?
我有以下代码:
typedef struct
{
int a;
float b;
int c;
} Hello;
Hello hello[100];
Run Code Online (Sandbox Code Playgroud)
我知道我可以为这个数组的第一个元素赋值:
hello[0] = {1,2.0,3};
Run Code Online (Sandbox Code Playgroud)
但是当我们声明时,如何分配第一个元素 hello: Hello hello[100];
我有以下代码:
int *p;
p = (int*)malloc(sizeof(int) * 10);
Run Code Online (Sandbox Code Playgroud)
但是这个带有10个元素的int数组的默认值是多少?他们都是0?
我在c结构中有多个灵活的数组:
typedef struct
{
int a;
float b;
} Name;
typedef struct
{
int c;
int d;
int e;
} NIM;
typedef struct
{
int age;
int time;
Name name[1];
NIM nim[1];
} EthgenSig;
Run Code Online (Sandbox Code Playgroud)
如果我们需要像这样分配内存:
malloc(sizeof(EthgenSig) + sizeof(Name) * 10);
Run Code Online (Sandbox Code Playgroud)
如何分配内存,如果我们先操作name数组然后再操作nim数组,那么nim[1]会覆盖name数组,然后如何解决呢?
我在TCL中有以下代码:
"\\*05.|__|##|.T|__|__|"
Run Code Online (Sandbox Code Playgroud)
尝试匹配以下输出:
*05 |__|##| T|__|__|
Run Code Online (Sandbox Code Playgroud)
它匹配.
但如果输出是:
*05 |__|##|__|__|__|
Run Code Online (Sandbox Code Playgroud)
它也匹配,有什么问题,以及如何解决它?
应该在使用之前定义函数吗?但为什么以下代码有效:
def main():
dog()
def dog():
print("This is a dog.")
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
我的意思是dog()在被调用后被定义,它是如何工作的?