gpt4 book ai didi

c - 如何在 C 中从 char** 转换为 char*?

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:58 25 4
gpt4 key购买 nike

我有这个问题:我有一个矩阵,其中存储不同的字符。现在我必须将这些字符与另一个字符进行比较,但是在编译时,它说 strcmp recives char* 而我有 char**。那么,我该如何转换呢?这是我的代码:

对于矩阵:

for (i = 0; i < x; i++){
for (j = 0; j < y; j++){
if (!fscanf(fol, "%c", &mat[i][j])){
break;}
//printf("%c", mat[i][j]);
}
}

我遇到问题的部分:

    for (x = 0; x < largo; x++){
for (y = 0; y < ancho; y++){
char *charcha;
strcpy (charcha, mat[x][y]);

//char *charcha = "%c", mat[x][y];
int algo = strcmp(charcha, "0");
if (algo == 0){
printf (" ");
}
else{
printf("%c", mat[x][y]);}
}
}

printf ("\n");

我尝试使用 strcpy,但它也失败了 :C

谢谢

最佳答案

如果你想比较字符串,使用:

for (x = 0; x < largo; x++)
{
if ( strcmp(mat[x], "0") == 0 )
{
// Do whatever.
}
else
{
// Do whatever.
}
}

如果你想比较字符,使用:

for (x = 0; x < largo; x++)
{
for (y = 0; y < ancho; y++)
{
if (mat[x][y] == '0' )
{
// Do whatever.
}
else
{
// Do whatever.
}
}
}

关于c - 如何在 C 中从 char** 转换为 char*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25776934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com