C语言打印二维字符数组

C语言不经常用,都快忘了。平时还得多用才熟练啊!

#include<stdio.h>

void func1(int m , char *str[]){
	int i =0 ; 
	printf("%s\n", "int func1------");	
	for(; i<m ; i++){

		printf("%s\n", str[i]);
	}
}


void func2(int m , char **str){
	int i =0 ; 
	printf("%s\n", "int func2------");	
	for(; i<m ; i++){

	printf("%s\n", *(str+i));
	}
}


void func3(int m , char str[][8]){
	int i =0 ; 
	printf("%s\n", "int func3------");	
	for(; i<m ; i++){

		printf("%s\n", str[i]);
	}
	
}

int main(int argc , char *args[] ){
	char *Country1[] = { "China",  "Russia", "America"} ;
	func1(3 , Country1) ;	
	func2(3 ,&Country1[0]) ;
	char Country2[][8] ={ "China",  "Russia", "America"} ;
	func3(3 , Country2) ;



}

因为需要传入每个字符串的最大值,所以func3有局限性,不建议使用。func1最容易理解。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。