C语言错误: 'expected expression before ‘=’ token' 解决方法
错误信息:
hzdsb.c:9:21: error: expected expression before ‘=’ token while((p2=fork( ))= =-1); /创建子进程p2/
错误原因:
这个错误意味着在第9行的语句中,有一个错误的等号符号。具体来说,等于号(=)两边应该是表达式,但是等号符号两边出现了两个等于号(==)的比较运算符,这是不正确的。
解决方法:
应该将等于号(=)后面的等于号(==)删除,即将
while((p2=fork( ))= =-1);
改为
while((p2=fork( )) == -1);
代码解释:
该代码使用fork()函数创建子进程,p2=fork()将子进程的进程ID赋给变量p2。== -1用于判断fork()函数是否执行失败,失败则会返回-1。
总结:
该错误通常是由于将赋值运算符(=)误写为比较运算符(==)造成的,仔细检查代码中等号的使用,确保其两边都是有效的表达式即可解决问题。
原文地址: https://www.cveoy.top/t/topic/nESn 著作权归作者所有。请勿转载和采集!