功 能: 装入并运行其它程序的函数
用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL)
int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,
char *envp[])
int execlp(char *pathname, char *arg0, arg1, .., NULL)
int execple(char *pathname, char *arg0, arg1, ..., NULL,
char *envp[])
int execv(char *pathname, char *argv[])
int execve(char *pathname, char *argv[], char *envp[])
int execvp(char *pathname, char *argv[])
int execvpe(char *pathname, char *argv[], char *envp[])
程序例: /* execv example */
#include <process.h>
#include <stdio.h>
#include <errno.h>void main(int argc, char *argv[])
{
int i printf("Command line arguments:\n")
for (i=0i<argci++)
printf("[%2d] : %s\n", i, argv[i]) printf("About to exec child with arg1 arg2 ...\n")
execv("CHILD.EXE", argv) perror("exec error") exit(1)
}
多看书,多Google,百度,
这在C中很容易实现。
一、将A中的数据作为调用函数B的参数,经过B处理后,返回到A。假定A为主函数main(),B为排序函数Sort(int a[],int n),在A中给数组a[]赋值,通过函数B进行排序,完成后返回到A。
#include <stdio.h>#include <stdlib.h>
#include <time.h>
#define MAXlen 100
void Sort(int *x, int n) { //选择排序
int i, j, min
int t
for (i = 0 i < n - 1 i++) { // 要选择的次数:0~n-2共n-1次
min = i // 假设当前下标为i的数最小,比较后再调整
for (j = i + 1 j < n j++) { //循环找出最小的数的下标是哪个
if (*(x + j) < *(x + min)) {
min = j // 如果后面的数比前面的小,则记下它的下标
}
}
if (min != i) { // 如果min在循环中改变了,就需要交换数据
t = *(x + i)
*(x + i) = *(x + min)
*(x + min) = t
}
}
}
int main() {
int i
int iArr[MAXlen]
srand((unsigned int)time(NULL))
printf("\n排序前:\n")
for(i = 0 i < MAXlen i++) {
iArr[i] = (unsigned int)rand() % 1000
if(i % 10 == 0) printf("%\n")
printf("%5d",iArr[i])
}
printf("\n")
Sort(iArr,MAXlen)
printf("\n排序后:\n")
for(i = 0 i < MAXlen i++) {
if(i % 10 == 0) printf("%\n")
printf("%5d",iArr[i])
}
printf("\n\n")
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)