У меня проблема с входящими в мой массив персонажами, это мой код ниже:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "graph.h"
void getfile(char[], char[]);
void reachable(char[]);
int size;
int i;
////////////GETFILE FUNCTION/////////////
void getfile(char *graph, char *source) {
FILE *infile;
infile = fopen(graph, "r");
if (infile == NULL) {
fprintf(stderr, "Can't open input file %s!\n", graph);
exit(1);
}
while (fscanf(infile, "%s", &source[i]) != EOF) {
++i;
}
fclose(infile);
size = strlen(source);
printf("%s\n", source);
reachable(&source[0]);
}
///////////REACHABLE FUNCTION////////////
void reachable (char *source){
char odd[100];
char even[100];
//printf("%s\n", odd);
//printf("%s\n", even);
int i;
for (i = 0; i<size; i+=2){
// printf("%c", source[i]);
odd[i] = source[i];
}
for (i = 0; i<size; i++){
even[i] = source[i];
}
printf("%s\n", odd);
}
Вывод:
rlxrtgacufkrzyngilzxazrasjsbjqqitxmewplhtwzgxhokfmadrv
r
rlxrtgacufkrzyngilzxazrasjsbjqqitxmewplhtwzgxhokfmadrv
Закомментированная строка в моем первом для l oop в разделе «REACHABLE FUNCTION» правильно печатает все остальные переменные из исходного исходного массива. однако, когда я добавляю odd[i] = source[i]
, он разрывается и отображает только первую строку строки, которая находится в моем массиве source
.
Это вывод, который я пытаюсь получить при печати моего odd
массив:
rlxrtgacufkrzyngilzxazrasjsbjqqitxmewplhtwzgxhokfmadrv
rxtaukznizarssjqtmwltzxofar
Кто-нибудь знает, почему это происходит? Заранее спасибо! -OppositeIllusion