Sus preguntas han sido etiquetadas C y C++. Entonces respondería por los dos idiomas.
[C]
A partir de ISO C99 (Section 6.4.5/6
)
It is unspecified whether these arrays are distinct provided their elements have the appropriate values.
Eso significa que es unspecified
si p
y q
están apuntando a la misma cadena literal o no. En caso de gcc
que ambos están apuntando a "I am a string"
(gcc optimiza su código), mientras que en turbo c
no lo son.
no especi Comportamiento fi ed: El uso de un valor no especi fi ed, u otro comportamiento donde esta Norma Internacional proporciona dos o más posibilidades y no impone requisitos adicionales en que se elige en cualquier ejemplo
[C++]
De ISO C++ - 98 (Section 2.13.4/2
)
Whether all string literals are distinct(that is, are stored in non overlapping objects) is implementation defined.
en C++ invoca el código de conducta de implantación definidos.
Implementación de fi nida Comportamiento: Comportamiento especi fi cado que cada aplicación documents
cómo se hace la elección
Véase también this cuestión.
Tome la sugerencia; Para utilizar gcc ;-) – Amarghosh
visto que las respuestas de la pregunta ya están incluidos en las cadenas 'printf' (Por cierto que hay '\ n' faltaban allí) supongo que recibió este ejemplo de código de alguna parte? ¿Es esta tarea? –
FWIW, si está hablando del compilador antiguo de Borland, creo que tiene una opción de línea de comando ('-d') para unir constantes de cadena. – msandiford