gpt4 book ai didi

c - 此代码的含义 :for(i=0;argv[1][i]! ='\0' ;i++)

转载 作者:行者123 更新时间:2023-11-30 21:20:23 25 4
gpt4 key购买 nike

我从名为“Learn C the Hard way”的书中找到了这段代码,但我无法理解其含义和目的:

for(i=0;argv[1][i]!='\0';i++){
char letter=argv[1][i];

最佳答案

根据 C 标准,带参数的 main 声明如下

int main( int argc, char * argv[] )

相当于

int main( int argc, char ** argv )

argv指向指向字符串第一个字符的指针数组的第一个元素。

因此argv[1]是指向第二个参数的第一个字符的指针(第一个参数是程序名称)。例如,*argv[1]argv[1][0] 是以零结尾的字符串的第一个字符。

例如,如果您的程序运行如下

your_program Hello

然后命令行参数会像字符串“Hello”一样传递给程序。还有这个循环

for(i=0;argv[1][i]!='\0';i++){
char letter=argv[1][i];

遍历字符串直到遇到终止零。

您可以通过以下方式逐字符输出所有参数

#include <stdio.h>

int main( int argc, char * argv[] )
{
for ( int i = 0; i < argc; i++ )
{
for ( int j = 0; argv[i][j] != '\0'; j++ ) putchar( argv[i][j] );
printf( "\n" );
}

return 0;
}

关于c - 此代码的含义 :for(i=0;argv[1][i]! ='\0' ;i++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39328060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com