这2天做题,产生了个疑问,对于字符串输出的时候用printf;我举2个例求高手解释下 void main() { char n[100]={'\0'};//想使用‘\0’,先初始化 char s[100]={'\0'}; int i,j=0; for(i=0;i<100;i++) { n[i]=getchar(); if (n[i]=='\n') ...
展开
推荐于2016-02-18 06:37:42
最佳答案
假定 a 是一维数组 printf("%s",a[i]); 它的输出是从 a 中 第 i 号字符开始输出,直到字符串结束符 '\0' 输出结束。 printf("%c",a[i]); 它只输出一个字符 -- a 中 第 i 号字符,不输出其它。 输出字符串数组 用 %c 要循环: for (i=0;i<strlen(a);i++) printf("%c",a[i]); 用 %s 不要循环, printf("%s",a); 就可以了。 ---------- 对于2维数组a[N][M], a[i] 是第i 行字符串 printf("%s",a[i]); 就打印第i 行字符串,直到字符串结束符。 for (i=0;i<N;i++) printf("%s\n",a[i]); 就是1行1行地打印字符串。 用 %c 要 双重循环 for (i=0;i<N;i++){ for (j=0;j<M;j++) { printf("%c",a[i][j]); // 一个字一个字打印 }; printf("\n"); // 满一行了,输出一个换行。 };