elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Alguien sabe porque el espacio me ocupa 2 lugares?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Alguien sabe porque el espacio me ocupa 2 lugares?  (Leído 1,374 veces)
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Alguien sabe porque el espacio me ocupa 2 lugares?
« en: 9 Julio 2018, 04:10 am »

Tengo problemas al  definir la cantidad de espacios del arreglo de caracteres en 1 e inicializarla con un espacio entre comillas simple me sale que no se puede y al colocarle dos espacios al arreglo e inicializarlo con dos espacios y  doble comillas que son para cadanes si me deja  :o

Código
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7. char nombre[40], apellido[40], completo[80]="Programadora: ", espacio[2]=" ";
  8. cout << "Ingrese nombre: ";
  9. gets(nombre);
  10. cout << "Ingrese apellido: ";
  11. gets(apellido);
  12. strcat(completo,nombre);
  13. strcat(completo,espacio);
  14. strcat(completo,apellido);
  15. cout << completo << endl;
  16. system ("pause");
  17. }

Datos de entrada:Maria Lux;
Datos de entrada:Grow;
Datos de salida:Programadora: Maria Lux Grow;

Gracias de antemano tios! ;-)


En línea

7w7
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Alguien sabe porque el espacio me ocupa 2 lugares?
« Respuesta #1 en: 9 Julio 2018, 04:43 am »

Una cadena siempre termina con el carácter \0, así que una cadena literal generada con comillas dobles tiene ese carácter al final que el compilador agrega automáticamente. También es la razón por lo que hay que agregar un carácter más a los arrays que realmente serán cadenas.

Un simple carácter de comillas simples no es una cadena, porque le falta el carácter de fin de cadena, y porque la variable que lo aloja no es un escalar entero, es decir, no es array ni puntero.


En línea

Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Alguien sabe porque el espacio me ocupa 2 lugares?
« Respuesta #2 en: 9 Julio 2018, 05:14 am »

Ha cierto, me re-marie
En línea

7w7
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines