C ¿Qué% de símbolo para acceder a las matrices? -- ampo con arrays camp Relacionados El problema

C what % symbol to access arrays?


0
vote

problema

Español

Estoy tratando de acceder a una sola fila de una matriz multidimensional. Sin embargo, sigo recibiendo el siguiente mensaje de error: El formato especifica el tipo 'int' pero el argumento tiene el tipo 'int *'. Supongo que está diciendo que hay un formato particular para matrices; ¿Qué símbolo utilizo para acceder a ellos si no en% i?

  #include <stdio.h>  int main(void) {      int matrix1[5][4] =         {{1,2,3,4},         {5,6,7,8},         {9,10,11,12},         {13,14,15,16},         {17,18,19,20}};      printf ("%i",matrix1[0]);       return 0; }   
Original en ingles

I'm trying to access an a single row of a multidimensional array. However, I keep getting the following error message: format specifies type 'int' but the argument has type 'int *'. I assume it's saying there's a particular format for arrays; what symbol do I use to access them if not %i?

#include <stdio.h>  int main(void) {      int matrix1[5][4] =         {{1,2,3,4},         {5,6,7,8},         {9,10,11,12},         {13,14,15,16},         {17,18,19,20}};      printf ("%i",matrix1[0]);       return 0; } 
     
 
 

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

Usted está accediendo a la primera fila de la matriz que se convertirá en TIPO var code = (event.keyCode ? event.keyCode : event.which); 5 Es la razón del mensaje de su compilador.

Si desea imprimir toda la fila, puede intentarlo con

  var code = (event.keyCode ? event.keyCode : event.which); 6  

Si solo desea la primera fila y la primera columna de la matriz intente

  var code = (event.keyCode ? event.keyCode : event.which); 7  
 

You are accessing the first row of the array which will be converted to type int * that's the reason of your compiler's message.

If you want to print the whole row you can try with

int i; for (i = 0 ; i < 4 ; ++i)     printf("%d ", matrix1[0][i]);     /*                       ^ another index to specify an integer from the array */ printf("\n"); 

If you just want the first row and first column of the array try

printf("%d\n", matrix1[0][0]); 
 
 
1
 
vote

Supongo que está diciendo que hay un formato particular para arreglos

Está diciendo que está intentando usar %i , que es para imprimir un solo entero. No hay ningún formato para imprimir una matriz directamente, debe proporcionar su propio pegamento alrededor del formato %i1 .

En otras palabras, para imprimir una fila, tiene que usar algo como:

  printf ("%i %i %i %i", matrix1[0][0], matrix1[0][1], matrix1[0][2], matrix1[0][3]);   
 

I assume it's saying there's a particular format for arrays

It's saying you are trying to use %i, which is for printing a single integer. There is no format to print an array directly, you have to provide your own glue around the %i format.

In other words, to print a row, you have to use something like:

printf ("%i %i %i %i", matrix1[0][0], matrix1[0][1], matrix1[0][2], matrix1[0][3]); 
 
 
0
 
vote

¿Qué símbolo utilizo para acceder a ellos si no es %i ?

No hay un especificador de formato en el printf Familia de funciones para imprimir una matriz. Los especificadores de formato solo son compatibles con los tipos de datos primitivos: char , int , etc. La lista completa se puede encontrar usando man printf , AT http://en.cppreference.com/w/c/io/fprintf , y Muchos otros recursos en la web.

Para escribir todos los elementos de una matriz, deberá iterar sobre los artículos utilizando un bucle y escribir cada elemento uno por uno, como el código en @ IHAROB La respuesta .

 

what symbol do I use to access them if not %i?

There is no format specifier in the printf family of functions to print an array. The format specifiers only support writing primitive data types - char, int, etc. The full list can be found using man printf, at http://en.cppreference.com/w/c/io/fprintf, and many other resources on the web.

To write all the elements from an array, you'll need to iterate over the items using a loop and write each element one by one, such as the code in @iharob's answer.

 
 

Relacionados problema

1  poner matriz de clase personalizada en un conjunto de datos o XML (C #)  ( Put custom class array into a dataset or xml c ) 
Estoy haciendo un pequeño juego de cartas que requiere una lista de puntuación más alta que se guarda en un archivo externo, y están cargados de ella al comie...

0  ¿Puedo obtener todas las llaves de una matrices asociativas de varios niveles en PHP?  ( Can i get all keys of an multi level associative arrays in php ) 
¿Hay alguna forma en PHP en la que puedo obtener las llaves de nivel N para la matriz multidimensional en PHP? Aquí está mi matriz asociativa y como salida....

51  Usando 'in' para que coincida con un atributo de los objetos de Python en una matriz  ( Using in to match an attribute of python objects in an array ) 
No recuerdo si estaba soñando o no, pero parece que me recuerdo que hay una función que permitió algo como, foo in iter_attr(array of python objects, attri...

4  PHP: Ordenar una matriz  ( Php sort an array ) 
Tengo una matriz con datos de una tabla MySQL en un modelo establecido anidado, me gustaría ser ordenado, no solo alfabético, sino también con los nodos infan...

76  ¿Cuál es la mejor manera de generar una nube de etiquetas de una matriz usando H1 a H6 para el tamaño?  ( Whats the best way to generate a tag cloud from an array using h1 through h6 fo ) 
Tengo las siguientes matrices: $artist = array("the roots", "michael jackson", "billy idol", "more", "and more", "and_YET_MORE"); $count = array(5, 3, 9, 1...

40  ¿Cuál es la mejor manera de iterar a través de una matriz en Classic ASP vbscript?  ( What is the best way to iterate through an array in classic asp vbscript ) 
en el código a continuación For i = LBound(arr) To UBound(arr) ¿Cuál es el punto en preguntar usando LBound ? Seguramente eso es siempre 0. ...

0  Operación de matriz JavaScript  ( Javascript array operation ) 
var arr = ['prueba', 'hola']; ¿Hay una llamada nativa de JavaScript para obtener un índice de algún valor ('Hello') en una matriz? ...

216  NET Estructuras de datos: Arraylist, Lista, Hashtable, Diccionario, Lista de clasificación, SortedDictionary - Velocidad, Memoria, ¿Cuándo usar cada uno?  ( Net data structures arraylist list hashtable dictionary sortedlist sorted ) 
.NET tiene muchas estructuras de datos complejas. Desafortunadamente, algunos de ellos son bastante similares, y no siempre estoy seguro de cuándo usar uno y ...

93  ¿Cómo descargar un bytearray usando ActionScript 3?  ( How to unload a bytearray using actionscript 3 ) 
¿Cómo descargo en la fuerza un ByteArray de la memoria usando ActionScript 3? He intentado lo siguiente: AF_INET0 ...

352  ¿Cuál es la forma de "correcta" de iterar a través de una matriz en Ruby?  ( What is the right way to iterate through an array in ruby ) 
PHP, para todos sus defectos, es bastante bueno en este aspecto. No hay diferencia entre una matriz y un hash (tal vez soy ingenuo, pero esto parece obvio der...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos