Je dispose de la source suivante :
int main() { 000J; }
Avec gcc 4.8.4, il compile sans erreur. Je sais qu'il existe des suffixes comme L ou U, mais je n'ai rien trouvé à propos de J.
Que fait-il donc ?
Je dispose de la source suivante :
int main() { 000J; }
Avec gcc 4.8.4, il compile sans erreur. Je sais qu'il existe des suffixes comme L ou U, mais je n'ai rien trouvé à propos de J.
Que fait-il donc ?
Je reçois un avertissement :
Les constantes imaginaires sont une extension de GNU
Les J
est une extension GNU, qui fait que le littéral est de type _Complex
type.
Plus d'informations ici : https://gcc.gnu.org/onlinedocs/gcc/Complex.html
Comme l'a mentionné zenith, il s'agit d'une extension GNU permettant d'écrire des littéraux imaginaires. Je voudrais vraiment commenter la raison d'être de l'utilisation de j
à cette fin, comme le demande imallett, mais je n'ai pas assez de réputation pour commenter la réponse de zenith. Je vais tout de même laisser cette réponse, car elle pourrait être utile à d'autres.
En tant que ce lien explique que les deux i
y j
peut être utilisé pour écrire des littéraux imaginaires en utilisant cette extension GNU. La raison pour laquelle i
est utilisé à cette fin est évidente, mais la raison pour laquelle le j
est également utilisé est que j
est couramment utilisé pour désigner l'unité imaginaire dans l'ingénierie électrique et l'ingénierie des systèmes de contrôle, afin d'éviter toute confusion avec l'unité imaginaire. i
est déjà utilisé pour désigner le courant électrique dans ces contextes.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.