笨笨孩子 2022-05-26 07:14 采纳率: 73.1%
浏览 32
已结题

数组与字符串 数组表达式不理解

#include<stdio.h>
#include<string.h>
int main(void)
{
char str[4][61],temp,str2[4][61];
int i,j,k;

for(i=0;i<4;i++) 
   while(gets(str[i]), strlen(str[i])<1);

        
for(i=0;i<4;i++)
{
    k=0;
    for(j=0;j<=strlen(str[i]);j++)
    {
        if(str[i][j]!='$')    
        {
            str2[i][k]=str[i][j];
            k++;
        }
                
    }
}
    
for(i=0;i<4;i++)  puts(str2[i]);    

}

这个程序什么意思 j<=strlen(str[i])是什么意思 谁能帮我解释一下整个程序想求什么 能解释一下语句的意思吗🥺

  • 写回答

2条回答 默认 最新

  • 於黾 2022-05-26 07:44
    关注

    str是一个二维char数组,相当于一维字符串数组
    要对二维数组进行拷贝操作,就需要2重循环
    外面的for i就是外层循环,是在分别操作4个字符串
    而内层的for j则是对每个字符串的单个字符进行操作
    strlen函数用来判断数组长度
    str[i]就是二维数组的第i行,它本身也是一个数组,
    strlen(str[i])就是在判断它到底有多长
    也就是字符串数组到底有多长
    其实为了执行效率考虑,应该再加入字符是不是\0的判断,\0是字符串结束符,拷贝它后面的数据是没意义的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月3日
  • 已采纳回答 5月26日
  • 创建了问题 5月26日

悬赏问题

  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵