int main()
{
int64_t test = ;
printf("%lld\n",test);
float f_test = 100.2123;
printf("%f\n",f_test); scanf("%f",&f_test);
printf("%f\n",f_test); }
格式输出浮点
double shoes = 10.23;
printf("%-10.2f ok\n",shoes);
printf("%-15.2f ok\n",shoes);
printf("%10.2f ok\n",shoes);
printf("%15.2f ok\n",shoes);
printf("%.2f ok\n",shoes);
printf("%.6f ok\n",shoes);
printf("%.2ef ok\n",shoes);
整数空格输出 ,下面控制前面5个空格
如果是%-5d,就是右对齐。上面的float输出也是一样的
int index = ;
while(++index < )
{
printf("%5d \n",index);
}
return ;
aaarticlea/png;base64,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" alt="" />
#include <stdio.h>
void test(const void *data,int size)
{
const float *_data = (float*)data;
for(int i=;i<size;i++)
{
printf("data array %d is %f\n",i,_data[i] );
}
} void get_name()
{
printf("name is gearslogy\n");
} void run_get_name(void (*pf)()) // argument point to a function address
{
pf();
printf("function address %p\n",pf);
} int main()
{
float a[] = {,,,};
test(a,); run_get_name(get_name);
return ;
}
进程fork:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
/* // THIS PROGRAM WILL REPLACE THE MAIN(),SO WILL DO NOT RUN THE printf(" Done .\n")
int main()
{
printf("Running ps with execlp\n");
execlp("ps","ps","ax",0);
printf(" Done.\n");
return 0;
}
*/ // wait
#include <sys/wait.h>
#include <stdlib.h> int main()
{
pid_t pid;
char *message;
int n;
int exit_code; printf("fork program starting\n");
pid = fork();
switch (pid)
{
case -:
perror("fork error\n");
exit();
case :
{
message = "this is the child";
n=;
exit_code = ; // child return code
break;
}
default:
{
message = "This is the parent";
n=;
exit_code = ; // this is the main process exit_code
break;
}
} for(;n>;n--)
{
puts(message);
sleep();
} if(pid != )
{
int stat_val;
pid_t child_pid;
child_pid = wait(&stat_val); //return the child pid
printf("child has finished : PID=%d \n",child_pid);
if(WIFEXITED(stat_val))
{
printf("Child exit with code %d\n",WEXITSTATUS(stat_val));
}
}
exit(exit_code); // this is the child exit code,this will eval two times,becuase have a main process,and fork() process }
信号:
void ouch(int sig)
{
printf("I got signal %d \n",sig);
}
int main()
{
signal(SIGINT,ouch);
while()
{
printf("hello world\n");
sleep();
}
return ;
}
信号等待获取:
static int arlarm_fired = ;
void ding(int sig)
{
arlarm_fired = ;
}
// in the child process wait 5 secends,then send a signal
// to the father process
int main()
{
pid_t pid;
printf("alarm application starting\n"); pid = fork();
switch(pid)
{
case -:
perror("fork faild\n");
exit();
case :
sleep();
kill(getppid(),SIGALRM); // send a signal to main(father) process
exit();
} printf("waiting for alarm to go off\n");
signal(SIGALRM,ding); // main process recive the signal
pause();
if(arlarm_fired)
{
printf("ding ding\n");
}
exit();
}
简单的二维数组
#include <iostream>
#include <cstdlib>
using namespace std; int main()
{
int zippo[][] = {{,,},
{,,}};
cout << zippo[] << endl; // point to the {1,2,3}
cout << zippo[] << endl; // point to the {4,5,6} cout << (zippo+) <<endl; // point to the {1,2,3}
cout << (zippo+) <<endl; // point to the {4,5,6} cout << *(*zippo+) <<endl; // -> 1
cout << *(*zippo+) <<endl; // -> 2 cout << *(*(zippo+)+) <<endl; // ->4
cout << *(*(zippo+)+) <<endl; // ->5
return ;
}