#define SIZE 1024
char encryptEVEN(char *c)
{
int i;
i = 0;
char enEVEN[SIZE], temp[SIZE];
while (/*c[i] != NULL &&*/c[i] != '')
{
if (i % 2 == 0 || i - 3 == 0)
{
enEVEN[i] = c[i];
i++;
}
}
strcpy(temp, enEVEN);
return enEVEN;
}
int main()
{
char charr[SIZE], enEVEN[SIZE];
strcpy(enEVEN, encryptEVEN(charr));
printf("%s", enEVEN);
}
hello, I am trying to pass and return a char in C but I keep getting warnings and no output displayed I think the problem is with the return for the function .. can I get some help
Advertisement
Answer
I’m not quite sure, but you probably want this:
#include <stdio.h>
#include <string.h>
#define SIZE 1024
void encryptEVEN(const char *c, char *destination)
{
int i = 0;
int j = 0;
while (c[i] != '')
{
if (i % 2 == 0 || i - 3 == 0)
{
destination[j++] = c[i];
}
i++;
}
destination[j] = ''; // string terminator
}
int main()
{
char charr[SIZE], enEVEN[SIZE];
strcpy(charr, "Hello World!"); // put something meaningful into the source string
encryptEVEN(charr, enEVEN);
printf("%sn", enEVEN);
}
The output is:
HlloWrd