logo

# i ## Operadors en C

Operador de cadena (#)

El operador de corda (#) és un operador de preprocessador que fa que s'inclogui l'argument real corresponent cometes dobles. L'operador #, que generalment s'anomena encadenar operador, converteix l'argument que precedeix en a cadena citada . També es coneix com a operador de stringificació.

Generalment s'utilitza amb macros en C.



arquitectura de xarxa

Exemple

El codi C següent mostra l'ús de l'operador Stringizing (#).

C








>

qui va crear l'escola

>

Sortida

geeksforgeeks>

Explicació

El següent preprocessador converteix la línia printf(mkstr(geeksforgeeks)); a printf(geeksforgeeks);

Operador d'enganxar testimonis (##)

El Operador d'enganxar testimonis (##) permet que les fitxes utilitzades com a arguments reals es concatenin per formar altres fitxes. Sovint és útil combinar dos fitxes en un mentre s'expandeixen macros. Això s'anomena enganxament de testimonis o concatenació de testimonis.

L'operador de preprocessament '##' realitza l'enganxament de testimonis. Quan s'amplia una macro, les dues fitxes a banda i banda de cada operador '##' es combinen en un sol testimoni, que després substitueix el '##' i els dos fitxes originals a l'expansió de la macro.

Exemples

El codi C següent mostra l'ús de l'operador d'enganxar testimoni (##).

C




java do while bucle

// C program to illustrate (##) operator> #include> > // Macro definition using the Token-pasting operator> #define concat(a, b) a##b> int> main(>void>)> {> >int> xy = 30;> > >// Printing the concatenated value of x and y> >printf>(>'%d'>, concat(x, y));> >return> 0;> }>

>

>

Sortida

30>

Explicació

El preprocessador transforma printf(%d, concat(x, y)); a printf(%d, xy);

Aplicació de l'operador per enganxar testimonis (##)

El ## proporciona una manera de concatenar arguments reals durant l'expansió de macros. Si un paràmetre del text de substitució és adjacent a un ##, el paràmetre es substitueix per l'argument real, el ## i l'espai en blanc que l'envolten s'eliminen i el resultat es torna a escanejar.

llançar el maneig d'excepcions a Java