Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 字符串怎么可能是布尔值?_C_String_Pointers_While Loop_Boolean - Fatal编程技术网

C 字符串怎么可能是布尔值?

C 字符串怎么可能是布尔值?,c,string,pointers,while-loop,boolean,C,String,Pointers,While Loop,Boolean,parse_行的标题 char **commands = parse_line( input, ';' ); int i = 0; while ( commands[i]) { /* Runs some functions, commands[i] not affected */ i++; } 在while循环中,command[i]是否真的是真的 char*line将是类似于ls-l\n的东西 注:\n包括在内,因为用户在输入终端命令后必须按返回。在您的代码中,命令[i]将解析为类型

parse_行的标题

char **commands = parse_line( input, ';' );
int i = 0;
while ( commands[i]) {
  /* Runs some functions, commands[i] not affected */
  i++;
}
在while循环中,
command[i]
是否真的是真的

char*line
将是类似于
ls-l\n
的东西


注:
\n
包括在内,因为用户在输入终端命令后必须按
返回

在您的代码中,
命令[i]
将解析为类型
字符*
,即指针

  • 如果指针的值不是NULL,则该值将被视为TRUE
  • 如果指针为NULL,则将其视为FALSE

用于条件检查。

C
中,任何非零值都表示为真。因此,对于值不为
0
的所有字符指针,该条件为true

如果
命令[i]=NULL
-则此条件在
C
中变为false


由于
命令[i]
引用了
字符*
,因此,如果非空,则将其视为
1
,如果为空,则将其视为
0

将false视为“等于0”,将true视为“不等于0”。
{delim,\n'}
-->{delim,\0'}请正确缩进代码。这有助于每个人阅读您的代码。对不起,我是否缩进错误?如果有问题的话,我用的是两个空格而不是四个。编辑:哦,对不起。我没意识到语法错误。修正因为指针仍然是一个地址,它是一个非零整数,对吗?@CodeSammich非常正确,除了
int
应该是
intptr\t
uintptr\t
,除非您将
null
更改为
null
,否则您的答案在技术上是错误的
char **parse_line(char *line)