argc 和 argv 不是 运行
argc and argv aren't running
我正在尝试 运行 此代码 Ubuntu,但是当我 运行 下面的代码时:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
int main(int argc , char agrv[3]){
int pid ,sig;
sig = atoi( argv[1]);
pid = atoi( argv[2]);
kill(pid,sig);
return(0);
}
它说
ex02.c:10:13: error: ‘argv’ undeclared (first use in this function)
sig = atoi( argv[1]);
您打错了 agrv
,main 的签名是 int main(int argv, char *argv[])
。
argv
是以 NULL
结尾的 char *
数组。数组中直到 NULL
的每个元素代表命令行中的一个字符串。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
int main(int argc, char *argv[]){
int pid, sig;
sig = atoi(argv[1]);
pid = atoi(argv[2]);
kill(pid, sig);
return(0);
}
你在main
的定义行中犯了错误,argv
是char*
个字符串的数组
int main(int argc, char *argv[])
{
/*
other code here
*/
}
问题出在你main()
的函数头上。
应该是这样的
int main(int argc, char *argv[])
{
//Function Body
return 0;
}
形式参数 argv 是一个 array of pointers to char
。每个指向 char 的指针都包含一个传递给程序的参数(另外,程序的名称将由 argv[0] 指向)。
我正在尝试 运行 此代码 Ubuntu,但是当我 运行 下面的代码时:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
int main(int argc , char agrv[3]){
int pid ,sig;
sig = atoi( argv[1]);
pid = atoi( argv[2]);
kill(pid,sig);
return(0);
}
它说
ex02.c:10:13: error: ‘argv’ undeclared (first use in this function)
sig = atoi( argv[1]);
您打错了 agrv
,main 的签名是 int main(int argv, char *argv[])
。
argv
是以 NULL
结尾的 char *
数组。数组中直到 NULL
的每个元素代表命令行中的一个字符串。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
int main(int argc, char *argv[]){
int pid, sig;
sig = atoi(argv[1]);
pid = atoi(argv[2]);
kill(pid, sig);
return(0);
}
你在main
的定义行中犯了错误,argv
是char*
个字符串的数组
int main(int argc, char *argv[])
{
/*
other code here
*/
}
问题出在你main()
的函数头上。
应该是这样的
int main(int argc, char *argv[])
{
//Function Body
return 0;
}
形式参数 argv 是一个 array of pointers to char
。每个指向 char 的指针都包含一个传递给程序的参数(另外,程序的名称将由 argv[0] 指向)。