Когда я запускаю программу, кажется, что sscanf
хранит значения до val
дважды. Я не знаю, как это исправить.sscanf() повторяющееся значение дважды
// Это мой файл array.c
#include <stdio.h>
#include "calculate.h"
#define SIZE 10
int main()
{
int intArray[SIZE];
char* sArray[SIZE] = {"16", "2", "6", "9", "4", "13", "1", "27", "5"};
printf("Char Array to Int Array\n");
formatter(*sArray, intArray, size);
return 0;
}
/* Это мой файл calculate.h */
void formatter(char* sArray, int* intArray, int size).
#define SIZE 10
/* */
// Отсюда calculate.c file //
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "calculate.h"
void formatter(char* sArray, int* intArray, int size)
{
int i, val;
for (i = 0; i < size; i++)
{
sscanf(sArray + i, " %d\n", &val);
printf("Val = %d\n", val);
intArray[i] = val;
printf("%d\n", intArray[i]);
}
}
'недействительным форматтер (символ * sArray, Int * INTArray, Int размера);' -> 'недействительным форматировщик (символ * sArray [] , int * intArray, int size); ',' sscanf (sArray + i, "% d \ n", &val); '->' sscanf (sArray [i], "% d \ n", &val); ', ' formatter (* sArray, intArray, size); '->' formatter (sArray, intArray, 9); ' – BLUEPIXY
Почему вы re'define'' SIZE'? – muXXmit2X
'' '' 'и' '\ n" 'in 'sscanf (sArray + i,"% d \ n ", &val);' служить нецелесообразно - может отбросить эти 2 'char'. Или просто использовать' strtol() '. – chux