[c]differenza " - '
ciao
mi stavo chiedendo .
quale e la differenza tra l'apice singolo da quello doppio :
nel linguaggio c
stringa[0] = '\0';
char stringa[MAX_SIZE] = "";
char stringa[MAX_SIZE] = "ciao mario ";
e se esiste un sistema per vedere il contenuto di una variabile in forma binaria
tipo :
stringa[0] = 'a';
ciao grazie
mi stavo chiedendo .
quale e la differenza tra l'apice singolo da quello doppio :
nel linguaggio c
stringa[0] = '\0';
char stringa[MAX_SIZE] = "";
char stringa[MAX_SIZE] = "ciao mario ";
e se esiste un sistema per vedere il contenuto di una variabile in forma binaria
tipo :
stringa[0] = 'a';
ciao grazie
Risposte
Gli apici singoli contraddistinguono un carattere, mentre i doppi apici una stringa.
quindi in pratica perfare il confronto di stringhe non si puo fare :
char cn;
if (cn == "")
ma si puo confrontare solamente cn[0]
es:
if (cn == '\n')
perche non c'e il point integer
una roba del genere ?
bo grazie
char cn;
if (cn == "")
ma si puo confrontare solamente cn[0]
es:
if (cn == '\n')
perche non c'e il point integer
una roba del genere ?
bo grazie
"luca98":
quindi in pratica perfare il confronto di stringhe non si puo fare :
char cn;
if (cn == "")
ma si puo confrontare solamente cn[0]
es:
if (cn == '\n')
perche non c'e il point integer
una roba del genere ?
bo grazie
che sarebbe cn[0]? cn non è mica un array.
e che intendi per point integer?
main()
{
char cn[] = "ciao";
}
-------------------------------
main()
{
char cn;
cn[0] = 'c';
cn[1] = 'i';
cn[2] = 'a';
cn[3] = 'o';
}
sono la stessa cosa .
{
char cn[] = "ciao";
}
-------------------------------
main()
{
char cn;
cn[0] = 'c';
cn[1] = 'i';
cn[2] = 'a';
cn[3] = 'o';
}
sono la stessa cosa .
nel secondo esempio hai dichiarato cn come un carattere e non come vettore di caratteri, quindi non funzionerà.
la dichiarazione giusta per equiparare il primo esempio è:
char cn[5];
per il resto va bene.
----------
Giusta anche l'assegnazione dei singoli caratteri.
va bene scrivere
ch[0]='c';
mentre era sbagliato se scrivevi
ch[0]="c";
perchè 'c' è un carattere, mentre "c" è una stringa (formata in questo caso da un solo carattere).
la dichiarazione giusta per equiparare il primo esempio è:
char cn[5];
per il resto va bene.
----------
Giusta anche l'assegnazione dei singoli caratteri.
va bene scrivere
ch[0]='c';
mentre era sbagliato se scrivevi
ch[0]="c";
perchè 'c' è un carattere, mentre "c" è una stringa (formata in questo caso da un solo carattere).