단어의 일부분이 회문인지 여부를 알 수 있어야하는 프로그램을 작성해야했습니다. 이에 대한 해결책은 다음과 같습니다.main 함수 내에 함수의 반환 값을 저장하는 방법. C 프로그래밍
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#define maxLen 100
int main() {
char string[maxLen];
char stringCopy[maxLen];
printf("Please enter a string between 2 and 100 characters\n");
gets(string);
strcpy(stringCopy,string);
strrev(stringCopy);
if(strcmp(string,stringCopy) == 0){
printf("%s is a palindrome\n\n",string);
}
else{
printf("%s is not a palindrome\n\n",string);
}
return 0;
}
이제 함수를 사용하여 프로그램을 다시 작성해야합니다. 이 코드를 지금 작성하려고하지만 함수의 리턴 값을 사용하는 방법을 알지 못하는 문제가 계속 발생합니다.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#define maxLen 100
int pallindrome(char);
int main(){
int rValue; // return value
char pString[maxLen];
printf("Please enter a string between 2 and 100 characters\n");
gets(pString);
int palindrome(char pString);
rValue = palindrome(char pString);
if(rValue == 0){
printf("%s is a palindrome\n",pString);
}
else{
printf("%s is not a palindrome\n",pString);
}
return 0;
}
int palindrome(char pString){
char string;
string = pString;
char stringCopy;
strcpy(stringCopy,string);
strrev(stringCopy);
if(strcmp(string,stringCopy) == 0){
return 0;
}
else{
return 1;
}
}
당신이 볼 수 있듯이
, 나는 사용자가 뭔가 회문인지 여부를 알려 회문()의 반환 값을 사용하려고 해요.요약하면 주 함수 내에서 함수에서 반환 값을 저장할 수있는 방법이 있는지 알고 싶습니다. 그래서 거기에서 사용할 수 있습니다. 이이 문제를 해결하는 더 좋은 방법이 있지만, 함수에 코드를 넣어
나는 그것이 당신이 말하는 코드의 최하부라고 생각한다. 정교하게 생각해? –
문제는 함수를 호출하는 방법과 c 문자열을 참조하는 방법에 대해 혼란 스럽다는 것입니다. 반환 값은 정상입니다. 'char *'를 사용하여 전체 문자열을 참조하고자 할 때,'char'는 단지 1 문자입니다. 새로운 문자열이 필요하면 배열이나 할당 된 메모리가 필요합니다. –
@ 키이스 당신은 정교 할 수 없었습니까? 귀하의 의견은 "건설적인/주제없는"완벽한 후보입니다. – meagar