¿Por qué ampersand no se usa en printf?

Por lo tanto, no hay forma de que square_it haga que los cambios sean visibles para la persona que llama. Ahora, mientras que printf no necesita cambiar sus argumentos (es una función de salida) scanf
escanear
Una cadena de formato scanf (formato de escaneo) es un parámetro de control utilizado en varias funciones para especificar el diseño de una cadena de entrada. Las funciones luego pueden dividir la cadena y traducirla a valores de tipos de datos apropiados. Las funciones de escaneo de cadenas a menudo se proporcionan en bibliotecas estándar.

https://en.wikipedia.org › wiki › Scanf_format_string

cadena de formato scanf – Wikipedia

hace (es una función de entrada). Por lo tanto, necesita punteros variables (direcciones) como argumentos.

¿Podemos usar ampersand en printf?

en el printf funciona. ¿Porqué es eso?
También difiere entre el especificador de formato, como que no es necesario poner & (ampersand) en printf cuando se usa %c o %d en scanf .

¿Por qué ampersand no se usa en cadena en C?

En el caso de una cadena (matriz de caracteres), la propia variable apunta al primer elemento de la matriz en cuestión. Por lo tanto, no es necesario utilizar el operador ‘&’ para pasar la dirección. ‘&’ se utiliza para obtener la dirección de la variable.

¿Por qué se usa ampersand en scanf?

El ampersand (&) nos permite pasar la dirección del número variable que es el lugar en la memoria donde almacenamos la información que escaneamos. El “%s” en scanf permite que la función reconozca la entrada del usuario como del tipo de datos de cadena, que coincide con el tipo de datos de nuestra palabra variable.

¿Qué sucede si no uso & en scanf?

El programa se compilará con éxito. Imprimirá el número incorrectamente pero se ejecutará hasta el final sin fallar.