2014-11-22 4 views
1

배열에 값이있는 배열이 있습니다. ABCDEF 그리고 내가해야 할 일은 예를 들어 처음으로 4자를 인쇄하고자 할 때입니다. ABCD, 마지막 숯으로 3자를 인쇄하고 싶습니다. ---ABCDEF- 보시다시피, -입니다. char 앞에 대치가 없기 때문에 char를 대용합니다. 그 3 - 3 -2 -1 위치에 있지만 배열 0에서 갈 때 어떻게 할 수 있습니까? 아니면 다른 방법으로 쉽게 할 수 있습니까? 또한 인쇄하고 싶은 4 장 뒤에 문자를 넣습니다."음수"위치에 배열 값 채우기

희망을 충분히 설명했습니다. 여기

내가 같은 설명에서와 같이, 지금 가지고있는 것입니다 :

printf("%d %c%c%c%s%c%c%c\n", h+1, pole[h-3], pole[h-2], pole[h-1], slovo, pole[h+dlzka], pole[h+dlzka+1], pole[h+dlzka+2]); 
+1

내가 그것을 아래로 투표에 대한 이유를 해달라고, 나는 설명에서, 임 요청과 같은 동일한 코드를 추가 아이디어는 어떻게 사용해야합니까? 정확한 코드는 사용할 수 없습니다. 고맙습니다. – febeks

+0

크기가 [12] 인 새 배열을 정의하고 루프를 찾아 색인을 확인하고 i와 i + 2를 채우겠습니까? 어떤 어려움이 있습니까? – SMA

+0

어떻게하면 음수 인덱스에 있어야한다고 판단합니까? –

답변

0
#include <stdio.h> 
#include <string.h> 

int main() { 
    char original[16] = "ABCDEF"; 
    char other[16] = {0}; 
    size_t len = strlen(original); 
    memset(other, '-', len + 4); 
    memcpy(other + 3, original, len); 
    puts(other); 
    sprintf(other, "---%s-", original); 
    puts(other); 

    memmove(original + 3, original, len);//move to back + 3 
    memset(original, '-', 3); 
    original[len+3] = '-'; 
    puts(original); 
    return 0; 
} 
+0

원래 배열이 바뀌어도 매번'-'을 넣을 것입니까? 왜냐하면 당신이'--- % s-'을 (를) 보았습니다. 원래 배열은 또한 ABCDEF가 될 수 있고 출력은'--- ABCDEF' ..와 다른 많은 조합이 될 수 있습니다. – febeks

+0

@febeks 처음 절반은 다른 배열에 저장됩니다. 원본을 변경하는 두 번째 부분. 두 가지 모두 샘플 코드 일뿐입니다. – BLUEPIXY