首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于strlen函数有关问题

2012-05-09 
关于strlen函数问题1 #include stdio.h2 #include string.h34 int main(){5char s[10][80],c[80]6int

关于strlen函数问题
1 #include <stdio.h>
  2 #include <string.h>
  3 
  4 int main(){
  5 char s[10][80],c[80];
  6 int i;
  7 for(i=0;i<10;i++)
  8 for(i=0;i<10;i++)
  9 if(strlen(c)<strlen(s[i]));
 10 printf("%s",c);
 11 }


这个程序不是很懂,尤其是if(strlen(c)<strlen(s[i]));这个语句,s[i]是表示什么意思,s不是二维数组吗,怎么写成这样:s[i] ? 麻烦各位大牛解答,谢谢

[解决办法]
s[10][80] 是10个一维数组,

s[i]就是第i个一维数组
[解决办法]
s[i] 指的是s这个二维数组的第i行. 这句话意思应该是如果c这个字符串长度没有s的第i行字符串长,就打印c
[解决办法]
c语言中没有多维数组,只有一维数组,所说的"二维数组"其实指一维数组其中每个元素也是一个一维数组.
所以s[i]也就是其中的一个一维数组
[解决办法]
s[i] 等同于 *(s+i),它是第i个数组第一个元素的指针

热点排行