我有类似的东西,
#include <stdio.h>
#include <stdbool.h>
int main()
{
int t,answer;
bool count;
long long int L;
scanf("%d",&t);
while(t>0)
{
answer = 0;
scanf(" %lld",&L);
bool count[L];
// .....restofthecode. NDA Constraint.
Run Code Online (Sandbox Code Playgroud)
的所有元素的默认值是arr[x]多少?它是false 永远?或者true?或者任何随机值?
没有命名的类型boolean在C,但有_Bool和stdbool.h宏bool是扩展到_Bool。
#include <stdbool.h>
#define X 42
bool arr[X];
Run Code Online (Sandbox Code Playgroud)
arr如果在文件范围内声明,元素的初始值为false(即0),如果在块范围内声明则不确定。
在块范围内,使用初始化器来避免元素的不确定值:
void foo(void)
{
bool arr[X] = {false}; // initialize all elements to `false`
}
Run Code Online (Sandbox Code Playgroud)
编辑:
现在的问题略有不同:
long long int x;
scanf("%lld",&x);
bool arr[x];
Run Code Online (Sandbox Code Playgroud)
这意味着arr是一个可变长度的数组。VLA 只能有块作用域,所以就像块作用域中的任何对象一样,它意味着数组元素具有不确定的值。您不能在声明时初始化 VLA。例如,您可以使用=运算符或使用memset函数为数组元素赋值。
| 归档时间: |
|
| 查看次数: |
9649 次 |
| 最近记录: |