语言C:指向整数转换的指针,指定给';char';从';char[2]';
我试图替换C字符串的所有字母(从第一个位置开始),但出现以下错误:语言C:指向整数转换的指针,指定给';char';从';char[2]';,c,pointers,C,Pointers,我试图替换C字符串的所有字母(从第一个位置开始),但出现以下错误: pointer to integer conversion assigning to 'char' from 'char [2]' 这意味着什么?我的代码有什么问题 #include <stdio.h> #include <string.h> #include <ctype.h> int main(int argc, char const *argv[]) { char parol
pointer to integer conversion assigning to 'char' from 'char [2]'
这意味着什么?我的代码有什么问题
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char const *argv[]) {
char parola1[50] = "Parola 1";
char parola2[50];
int i;
strcpy(parola2, parola1);
for (i = 1; i < strlen(parola2); i++) {
parola1[i] = "-";
}
printf("La parola 1 contiene la parola %s\n", parola1);
printf("La parola 2 contiene la parola %s\n", parola2);
return 0;
}
#包括
#包括
#包括
int main(int argc,char const*argv[]{
char parola1[50]=“Parola 1”;
char-parola2[50];
int i;
strcpy(parola2,parola1);
对于(i=1;i
“-”
是一个字符数组。如果要指定字符,请使用'-'
请注意,使用strlen()
is循环条件将导致性能损失
试试这个:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char *argv[]) {
char parola1[50]="Parola 1";
char parola2[50];
int i, len;
strcpy(parola2,parola1);
for(i=1, len = strlen(parola2);i<len;i++)
{
parola1[i]='-';
}
printf("La parola 1 contiene la parola %s\n", parola1);
printf("La parola 2 contiene la parola %s\n", parola2);
return 0;
}
#包括
#包括
#包括
int main(int argc,char*argv[]){
char parola1[50]=“Parola 1”;
char-parola2[50];
int i,len;
strcpy(parola2,parola1);
for(i=1,len=strlen(parola2);i“-”
是一个字符数组。如果要分配字符,请使用'-'
请注意,使用strlen()
is循环条件将导致性能损失
试试这个:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char *argv[]) {
char parola1[50]="Parola 1";
char parola2[50];
int i, len;
strcpy(parola2,parola1);
for(i=1, len = strlen(parola2);i<len;i++)
{
parola1[i]='-';
}
printf("La parola 1 contiene la parola %s\n", parola1);
printf("La parola 2 contiene la parola %s\n", parola2);
return 0;
}
#包括
#包括
#包括
int main(int argc,char*argv[]){
char parola1[50]=“Parola 1”;
char-parola2[50];
int i,len;
strcpy(parola2,parola1);
对于(i=1,len=strlen(parola2);对于初学者,这个循环看起来很奇怪
for(i=1;i<strlen(parola2);i++)
^^^ ^^^^^^^
{
parola1[i]="-";
^^^^^^^ ^^^
}
您正试图将类型为char[2]
的字符串literal“-”
,转换为指向其第一个元素的指针,指向类型为char
的对象parola1[i]
并且不需要调用函数strlen
来执行循环
我想你想要的是
strcpy( parola2, parola1 );
for( i = 0; parola1[i] != '\0'; i++ )
^^^^^
{
parola1[i] = '-';
^^^^
}
首先,这个循环看起来很奇怪
for(i=1;i<strlen(parola2);i++)
^^^ ^^^^^^^
{
parola1[i]="-";
^^^^^^^ ^^^
}
您正试图将类型为char[2]
的字符串literal“-”
,转换为指向其第一个元素的指针,指向类型为char
的对象parola1[i]
并且不需要调用函数strlen
来执行循环
我想你想要的是
strcpy( parola2, parola1 );
for( i = 0; parola1[i] != '\0'; i++ )
^^^^^
{
parola1[i] = '-';
^^^^
}
对字符常量使用单引号。投票以键入结束。parola1
中的第一个位置是0
,而不是1
。对字符常量使用单引号。投票以键入结束。parola1
中的第一个位置是0
,而不是1
。编译器可以执行循环不变优化因此,这可能不会导致性能损失编译器可以执行循环不变优化,因此这可能不会导致性能损失