warning: passing arg 1 of `wait' makes pointer from integer without a cast
时间: 2024-02-03 08:02:40 浏览: 26
这个警告是因为您在调用 `wait()` 函数时,传递给它的参数类型不正确。`wait()` 函数的参数应该是一个指向整型值的指针,用于存储子进程的退出状态。您可能传递了一个整型值而不是指针,导致编译器发出警告。请确认您传递给 `wait()` 函数的参数类型正确,并且指针指向的内存已经被正确地分配和初始化。
相关问题
Passing arg 1 of `atoi' makes pointer from integer without a cast相关错误的修改方法
这个错误一般是因为在使用 `atoi` 函数时,传入的参数类型不正确,导致编译器报出该错误。
解决方法是将传入的参数转换为字符串类型,然后再传给 `atoi` 函数。例如:
```c
int num = 123;
char str[10];
sprintf(str, "%d", num); // 将整数转换为字符串
int result = atoi(str); // 将字符串转换为整数
```
或者使用 `itoa` 函数将整数转换为字符串:
```c
int num = 123;
char str[10];
itoa(num, str, 10); // 将整数转换为字符串
int result = atoi(str); // 将字符串转换为整数
```
这样就可以避免这个错误了。
passing argument 1 of ‘strlen’ makes pointer from integer without a cast
这个错误通常是因为在调用 `strlen` 函数时,传递的参数不是字符串类型,而是整数类型。 `strlen` 函数需要一个以 null 结尾的字符串作为参数,以计算字符串的长度。可能的解决方法是检查传递给 `strlen` 函数的参数类型,并确保它是字符串类型。如果参数确实是整数类型,则需要将其转换为字符串类型,以便能够使用 `strlen` 函数。