Quantcast
Viewing all articles
Browse latest Browse all 22090

using C copy a 1D char array into 2D char array

I am trying to copy a 1D array of Strings into a 2D array of strings in C.

I was able to achieve this with integerenter image description here

//Here is what I tried for integers.        int main()     {         int arr[3][3];        int arr2[9]={1,2,3,4,5,6,7,8,9};         int i,j,k=0;         for(i=0; i<3;i++){            for(j=0; j<3;i++){              arr[j][i] = arr2[i];                //rintf("%d\n",arr2[i]);            }        }     for(i=0; i<3; i++) {         for(j=0; j<3; j++)           printf("%2d  ", arr[j][i]);         printf("\n");       }         return 0;     } 

I changed my data to char and I tried to run the same code I got a segmentation error.Here is what I have tried so far and it didnt work. error :Segmentation fault (core dumped)

 #include<stdio.h> #include<string.h> int main() {     char *d[3][3];  // Destination array     char *s[9]={"orange","apple","table","chair","cable","TV", "124","HI"};   // Source 1 Day array    int i,j,k=0;     for(i=0; i<3;i++){        for(j=0; j<3;i++){          strcpy(d[j][i], s[i]);        }            } for(i=0; i<3; i++) {     for(j=0; j<3; j++)       printf("%s  ", d[j][i]);     printf("\n");   }     return 0; } 

I have made some adjustment and now it print some weird strings

#include<stdio.h> #include<string.h> int main() {     char d[3][3] ={0};  // Destination array     char s[9][8]={"orange","apple","table","chair","cable","TV", "124","HI"};   // Source 1 Day array    int i,j,k=0;     for(i=0; i<3;i++){        for(j=0; j<3;j++){            d[j][i] = *s[i];        }            }    for(i=0; i<3; i++) {         for(j=0; j<3; j++)             printf("%s  ", &d[j][i]);             printf("\n");     }     return 0; } 

enter image description here


Viewing all articles
Browse latest Browse all 22090

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>