La diferencia entre Scanfor y cin
La clase a la que pertenece 2.2.cin sobrecarga el operador >; gt, lo que facilita la escritura, como
double d cin gt; > Scanf es diferente.
Double d scanf("lf", ampd);
Parece un poco problemático.
Además, cin es más seguro y no provocará un desbordamiento de la memoria.
char c;scanf("lf", ampc); // En este momento, se requieren 8 bytes de espacio, pero solo se proporciona uno y la memoria se desborda.
Cin es más seguro.
char c; CIN gt; gtc; //Solo caracteres de entrada, sin desbordamiento.
3. Desde una perspectiva de bajo nivel, cin en C y scanf en lenguaje C usan stdin como fuente de entrada, pero cin y scanf usan buffers diferentes. Puede configurar el búfer * * * para compartir a través de la función sync_with_stdio() en el archivo de encabezado de ios.
C también puede cambiar la fuente de entrada, pero es muy complicado.
De hecho, C encapsula stdin y utiliza flujo e iterador para cambiar el concepto de flujo, y scanf de C opera directamente stdin.
Función de entrada de formato de lenguaje 4.cin
y
C
Precauciones de uso
(Nota: El código fuente de este artículo no contiene archivos de encabezado; edítelo usted mismo durante el experimento)
Lea y opere para que realmente pueda comprender el truco:
5. p >
Función de escaneo ()
:
Las más utilizadas son
(1)
scanf("s " , a ); //a
es un puntero a una cadena;
Ejemplo:
int main(){
char a[ 20];
scanf("s ", a);
printf("s ", a); //
Secuencia de caracteres de salida
Caracteres en p>a
Devuelve 0
}
Nota
1, este método de obtener una cadena puede ir precedido de un retorno de carro.
\n '
, ¡atención! Puedes intentarlo. Entrada
Cuando presionas la tecla Enter al frente y luego ingresas un conjunto de caracteres, la salida siguen siendo los caracteres que generas.
2. Después de intentar subir al coche, vuelve a correr y luego te añades delante.
n
Espacio, luego ingresa un consecutivo.
Personajes,
Mira lo que pasa. Notarás que ignora todos los espacios anteriores.
Si quieres,
por supuesto, puedes
usar expresiones regulares o usar
gets(); p>
p>
Por ejemplo:
Obtener (a);
De esta forma también se pueden registrar los espacios que ingreses.
Inténtelo de nuevo
Ingrese una longitud continua de caracteres, seguido de un espacio, y luego ingrese:
Por ejemplo, ingrese el nombre de una persona.
Cuando la palabra "
Bill
Gates
" encontrará que la salida es solo
Bill
p>y
Gates
Así que al diablo con escribir nombres y escribir
Noodles también, es mejor usarlos.
obtiene();
Función.
(2)scanf("c ", ampa); //
Presta atención al símbolo de dirección
Ejemplo:
int main (){
char a;
scanf("c", ampa);
printf("c", a);
Caracteres de salida
Caracteres en un
Devuelve 0;
}
Nota:
Si hay un retorno de carro al obtener caracteres,
absorbelo.
Puedes probar esto,
Ejecutar el programa anterior,
Ingresar al auto una vez,
Mira con atención, dejó algunos La línea está en blanco.
(Ingresaste la primera línea, la segunda línea es
Función de impresión
Salir
a
valor)
, comprende el misterio.
¿Has terminado?
(3)
scanf("d ", ampa);
Ejemplo
int main(){
int a;
scanf("d", ampa);
printf("d", a); //
Conformación de salida
El valor en a
;
devuelve 0;
}
Nota: Esta entrada es la misma como (
1
), el retorno de carro anterior se ignorará automáticamente.
\n '(
En realidad es un
Código estándar de intercambio de información estadounidense
yarda
)