我使用memset填充数组中的所有零,但我认为memset没有正常工作(当我在编译器中调试它时,它没有用所有的零填充它(IDK,为什么?)
例如,当我使用B[n] = { 0 }时,会得到一个错误:
variable-sized object may not be initialized
守则:
#include <stdio.h>
int main()
{
int m, n;
scanf("%d%d", &m, &n);
int A[m][n];
int B[n];
int redici = 0, kolo
我对C语言很陌生。我知道线程是如何工作的,但我仍然不知道指针如何使用char数组,如何用循环填充数组.
终端上的错误如下..。
q2.c: In function ‘main’:
q2.c:18:22: warning: multi-character character constant [-Wmultichar]
q2.c:23:57: warning: multi-character character constant [-Wmultichar]
q2.c:23:40: warning: passing argument 2 of ‘strcpy’ makes pointer from
这是代码
int x, y, n, i, j, l, m, o;
printf ("podaj szerokosc planszy na jakiej chcesz zagrac\n");
scanf ("%d", &x);
printf ("podaj dlugosc planszy na jakiej chcesz zagrac\n");
scanf ("%d", &y);
int plansza [x][y];
memset(plansza, 0, sizeof plansza);
int plansza2
我仍然是C的新手,而且我在memset函数上遇到了问题。
我将char *传递给一个函数,在这个函数中创建一个数组,然后使用memset设置每个值。我一直使用dbx来监视这个变量,当它进入函数时,由于某种原因,在我们传递memset之后,它被设置为"“。
首先,为什么会发生这种情况?我假设memset一定是在重置char *所在的内存?
其次,有没有更好的方法将每个元素设置为"0"?
下面是我的代码:
static char *writeMyStr(char *myStr, int wCount) {
// here myStr is set to "M
在阅读了几十个教程和编程指南之后,答案还没有变得显而易见,因此出现了这篇文章。请善待我。
当前的问题是实际操作双d字符数组:{"aaaaa“、"bbbbb”、"ccccc“、.M}
第一个问题是声明这类野兽的初始化,以便更改字符串"aaaaa“、"bbbbb”等中的数据。
声明和初始化如下:
char *chararray[M][N + 1] //M & N are set as constant values, the extra 1 for the null terminator.
memset (chararray,
如何使用指向该数组的指针来memset数组?
int *A, n;
printf("\n Enter the size of array : ");
scanf("%d",&n);
A = (int*) malloc(sizeof(*A) * n);
int i = 0;
memset(*A,5,n * sizeof(*A));
for(i = 0; i < n; i++)
printf("%d ", A[i]);