请教个问题,这段代码为什么只取得到第一行呀
#include <stdio.h>void echoarraytoline(char *arr[]);main(){ char *arr[3] = { "dasdsadadadaa", "dasdasdsadsaddsadsadsadas", "fsdfdsfsdfsfsdsadsa", "fsdfsgghfhfghdsadsadsa" }; echoarraytoline(arr); system( "pause ");}void echoarraytoline(char *arr[3]){ int i = 0; int j = 0; int c = 0; while( c = *(*(arr+i)+j++) ){ if( i == 4 ){ break; }else{ if( c != '\0'){ printf("%c" , c ); printf("/"); }else{ i++; j=0; printf("end"); } } }}void echoarraytoline(char *arr[3]){ int i = 0; int j = 0; int c = 0; while( c = *(*(arr+i)+j++) ) //c=='\0'while就退出了{ if( i == 4 ){ break; }else{ if( c != '\0'){ printf("%c" , c ); printf("/"); }else{ i++; j=0; printf("end"); } } }}
[解决办法]
解答完成了。
[解决办法]
“多一少一”问题占程序员常犯错误的10%以上!