Maison > développement back-end > C++ > Pourquoi mon code C renvoie-t-il « ISO C interdit la comparaison entre un pointeur et un entier » ?

Pourquoi mon code C renvoie-t-il « ISO C interdit la comparaison entre un pointeur et un entier » ?

Barbara Streisand
Libérer: 2024-10-29 11:20:02
original
683 Les gens l'ont consulté

 Why Does My C   Code Throw

Erreur du compilateur : interdiction de comparaison de pointeurs et d'entiers en C

Le problème du compilateur "ISO C interdit la comparaison entre un pointeur et un entier" survient lors de la compilation , mettant en évidence une erreur de code liée à une comparaison incorrecte entre un pointeur et un entier. Pour approfondir la résolution, examinons le code fourni :

Dans le code donné, l'erreur se produit dans l'instruction if où la réponse est testée par rapport à "y":

<code class="cpp">if (answer == "y") ...</code>
Copier après la connexion

Ici , la réponse est une variable de caractère, alors que "y" est une chaîne littérale de style C. Tenter de comparer une variable de caractère à un pointeur vers un caractère (comme "y" se traduit par un pointeur) déclenche l'erreur du compilateur.

Vous avez deux solutions potentielles pour résoudre ce problème :

1. Utiliser une variable de chaîne :

La solution préférée consiste à utiliser une variable de chaîne pour la réponse au lieu d'une variable de caractère :

<code class="cpp">string answer;</code>
Copier après la connexion

Cela est conforme aux meilleures pratiques et évite le pointeur-entier erreur de comparaison.

2. Utiliser une constante de caractère :

Vous pouvez également utiliser une constante de caractère avec des guillemets simples, qui représente un caractère plutôt qu'une chaîne :

<code class="cpp">if (answer == 'y') ...</code>
Copier après la connexion

Les deux solutions résolvent efficacement le pointeur. interdiction de comparaison d'entiers, garantissant une exécution correcte du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal