2013-03-25 2 views
0

이 질문에 약간의 문제가 있습니다. 나는 계속 "build succeeded"(나는 xCode에서 작업 중이다.)하지만 출력물은 출력하지 않는다. 여기 두 인덱스 사이의 모든 영문자를 인쇄하십시오.

질문이다.

"이 프로그램과 무효 함수를 작성 보이드 기능은 패스에 의해 값 매개 변수로 두 가지의 int를 취할 것이 두 가지의 int는 시작과 끝 (보장의 시작을 제공합니다. (A는 0, B는 하나 등) 함수는 시작 대문자와 그 뒤에 오는 모든 대문자를 오름차순 FOR 루프에 인쇄해야합니다. put char() 또는 printf를 사용하십시오. 예 : 사용자가 "CJ"를 입력하면 함수에 전달 된 int는 2와 9가되고 출력은 "CDEFGHIJ"가됩니다.

그리고 여기 내 코드는

입니다.
#include <stdio.h> 

void writeLetters (int begin, int end); 

int main() { 

    char beginChar, endChar; 
    int beginInt, endInt; 

    scanf("%c%c", beginChar, endChar); 

    beginInt = beginChar*1; 
    endInt = endChar*1; 

    writeLetters(beginInt, endInt); 

    return 0; 
} 

void writeLetters (int begin, int end) { 

    int i; 
    char beginChar = begin*'A', endChar = end*'A'; 

    for (i=begin; i<=end; i++) { 

     printf("%c", beginChar); 
     beginChar += 'A'; 
    } 
} 

감사!

+0

어떻게됩니까? –

+0

begin> end 인 경우 아무 것도 인쇄되지 않습니다. 프로그램에 어떤 정보를 제공합니까? – m0skit0

+0

'-'연산자에 대해'*'연산자를 잘못 사용했다고 생각합니다. –

답변

0

많은 문제가 있습니다. 일부는 이미 지적되었지만 다른 일부는 그렇지 않다. 루프를 통해 매번 beginChar'A' 씩 증가시키는 writeLetters 함수를 살펴보십시오.

이 시도 : 당신이 실제로 대 그냥 컴파일 코드를 실행할 때

void writeLetters (int begin, int end) 
{ 
    while(begin <= end) 
    { 
     printf("%c", 'A' + begin); 
     begin++; 
    } 
} 

int main() 
{ 
    char beginChar, endChar; 

    scanf("%c%c", &beginChar, &endChar); 

    /* live dangerously - don't error check scanf and don't 
    * sanitize the input. In real life, you should always 
    * practice safe hex. 
    */ 
    writeLetters(beginChar - 'A', endChar - 'A'); 

    return 0; 
} 
+0

나는 모두에게 감사하고있다. – user2044189

0
scanf("%d%d", &beginInt, &endInt);  
.... 

void writeLetters (int begin, int end) 
{ 
    int i; 

    for (i=begin; i <= end; i++) 
    { 
     printf("%c", (char)('A' + i)); 
    } 
} 
관련 문제