我有两个字符串,需要比较它们并说明哪些字符正确。
我的代码是:
char Palavra = "exemplo";
int Tamanho = strlen(Palavra),i;
printf("Which is your guess?\n");
char Palpite[Tamanho];
fgets(Palpite,Tamanho,stdin);
char Mensagem[50];
strcpy(Mensagem,"The following characters are correct: ");
for(i=0;i<=Tamanho;i++){
if(Palavra[i] == Palpite[i]) sprintf(Mensagem,"%s %i",Mensagem,i+1);
}
printf("%s",Mensagem);
我需要比较变量Palavra和Palpite,每个字符一个字符,然后说一个是正确的。像这样:
字=单元格
猜测=圆柱
答案应为:“以下字符正确:1 3 4 5 6 7”
但我得到:“以下字符正确:1 3 4 5 6 8”
任何帮助将不胜感激。
可能它不起作用,因为您已将指向数组的指针分配给char值。也可能是因为i <= Tamnho导致了一些比较问题/可能崩溃(如果您尝试更改它们),从而超出了数组范围。但是代码背后的逻辑是正确的,所以我看不出任何其他原因导致它不起作用
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句