Передача указателя из функции в функцию двумерного массива и его вывод на экран - C (СИ)
Формулировка задачи:
Я, пишу морской бой для академии, в написании, нужно использовать указатели. Я столкнулся с проблемой, когда нужно передать указатель функции, на двумерный статический массив, в которой производится вывод массива на консоль. Печать происходит, но корректно только первые три строки:
Я, в main() создаю указатель, на адрес массива map возвращаемого функцией map(), в которой просто двумерный массив map инициализируется схемой поля боя, далее из main() адрес массива map, передается функции show() которая и выводит массив map на экран:
Но, если не передавать адрес массива map в main(), а передать его из функции map() сразу в show()
печатается так, как надо:
p.s.
извиняюсь за некорректное название темы.
http://www.imageup.ru/img260/1072072/print.gif
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> #define s 13 #define c 28 void show(char (*pmap)[c]) { int i,j; for(i=0; i<s; ++i) { for(j=0; j<c; ++j) { printf("%c",pmap[i][j]); } printf("\n"); } } int map () { char map[s][c]= { " 0123456789 0123456789 ", " ---------- ---------- ", "0| | 0| |", "1| | 1| |", "2| | 2| |", "3| | 3| |", "4| | 4| |", "5| | 5| |", "6| | 6| |", "7| | 7| |", "8| | 8| |", "9| | 9| |", " ---------- ---------- ", }; return map; } int main() { char*pmap=map(); show(pmap); return 0; }
http://www.imageup.ru/img260/1072080/print2.gif
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> #define s 13 #define c 28 void show(char (*pmap)[c]) { int i,j; for(i=0; i<s; ++i) { for(j=0; j<c; ++j) { printf("%c",pmap[i][j]); } printf("\n"); } } int map () { char map[s][c]= { " 0123456789 0123456789 ", " ---------- ---------- ", "0| | 0| |", "1| | 1| |", "2| | 2| |", "3| | 3| |", "4| | 4| |", "5| | 5| |", "6| | 6| |", "7| | 7| |", "8| | 8| |", "9| | 9| |", " ---------- ---------- ", }; char*pmap=map; show(pmap);//передаем pmap в show() минуя main() } int main() { map(); return 0; }
Решение задачи: «Передача указателя из функции в функцию двумерного массива и его вывод на экран»
textual
Листинг программы
int map ()
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д