在C语言中,这个语句怎么理解哦?
定义的XX数组是一个二维的数组 while(fgets(xx[i],80,fp)!=null) { p=strchr(xx[i],'\n'); if(p) *p=0; i++; } p=strchr(xx[i],'\n'); if(p) *p=0;这两条语句是什么意思哦? p=strchr(xx[i],'\n');这个意思就是在数组xx[i]中找第一次出现'\n'的位置,并把地址赋值给指针P,那么if(p) *p=0;是什么意思呢?
一维字符数组可以看成是字符串,所以xx这个二维数组的每一行也可以看成是一个字符串。 字符串的结束符是'\0',比如用puts输出的话即使字符数组第一次出现'\0'的后面也有被赋值,但仅仅输出第一个'\0'前的部分。 *p=0; 跟 *p='\0'; 效果一样。 所以这两句的意思是遇到回车认为xx[i]这个字符串结束,给原本'\n'的位置赋值成字符串结束符。 这样xx的每一行就对应了文件里的行是对应的了。 不过是在文件里的每行长度保证小于80个字符的条件下,否则超过80字符的行将会用xx的多行的形式保存。
答:doubt是怀疑的意思,也可以翻译为:我怀疑它。详情>>
问:计算机三级计算机三级请问全国计算机等级考试中的三级网络技术和数据库哪个好学一些?...
答:如果你理解能力强考数据库,其中比如关系数据库之类的需要去领悟 如果你记忆能力强考网络,各种各样的名词,背下来就得分。 还有官方指定的教材要有,上机最好做一做南开...详情>>
答:读指针用来记录文件当前文件之前的读取位置,它指向下一个将要读取的信息项详情>>