#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <string.h>
char str[] = "123456";
void *pthread1(void *arg)
{
printf("数组倒置前为:%s\n",str);
}
void *pthread2(void *arg)
{
sleep(3);
char *p_star=str;
char *p_end=&str[strlen(str)-1];
int i=0;
while(p_stat<p_end)
{
*p_star=*p_star^*p_end;
*p_end=*p_star^*p_end;
*p_star=*p_star^*p_end;
p_star++;
p_end--;
}
printf("数组倒置后:%s\n",str);
}
int main(int argc, const char *argv[])
{
pthread_t tid1;
if(pthread_create(&tid1,NULL,pthread1,NULL)!=0)
{
return -1;
}
pthread_t tid2;
if(pthread_create(&tid2,NULL,pthread2,NULL)!=0)
{
return -2;
}
while(1)
{
sleep(1);
}
return 0;
}
1.要求创建两个线程,以及一个全局变量,char str[] = “12345;要求如下:1)一个线程专门用于打印str;2)另外一个线程专门用于倒置str字符串,不使用辅助数组。3
最新推荐文章于 2024-06-21 22:23:19 发布