c - memset 不起作用 (C)

标签 c memset

char path[25500]= {};//iniatize
int visited[2500]= {0};//iniatialize
void fun();//protype

int main(){
    fun();
}

void fun(){
    visited[2300]=1;
    path[0]='9';
    printf("\n%d %s",visited[2300],path);
    memset(path,0,25500);//reset
    memset(visited,0,2500);//reset
    printf("\n %d %s",visited[2300],path);//to see if resetted
}

输出是:

1 9
1

我想像开始时一样重新设置。但如您所见,memset 不会重置。我的编译器是代码块。

最佳答案

memset(visited,0,2500);//reset

Visited 是一个整数数组,所以这应该是

memset(visited, 0, 2500 * sizeof(int))

关于c - memset 不起作用 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24106555/

相关文章:

c++ - C中的二维数组如何变成一维数组?

c - 哈希表中的链表(带结构)

python - 如何使用 C 读取目标文件的符号

c - Memsetting 指向数组的指针

c - 在 C 中将二维数组置零的最快方法?

c - c语言中的memset函数

c - 非阻塞套接字选择在连接后返回 1

c++ - 使用 dlopen 加载库时具有静态存储行为的动态变量

c++ - 可以使用 memset 来填充一组 std::complex<float> 吗?

c++ - memset 指针 + 偏移量