我想知道在打印东西时如何删除额外的空格.
就像我这样做:
print 'Value is "', value, '"'
Run Code Online (Sandbox Code Playgroud)
输出将是:
Value is " 42 "
Run Code Online (Sandbox Code Playgroud)
但我想要:
Value is "42"
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
编辑:我认为我做错了,因为当我编译并运行我的二进制文件两次时,我得到不同的输出..
我正在尝试理解线程pthread所以我做了一些代码来模拟火车在桥上的通道(一次只能处理2列火车)
我设法只用一列火车一次过桥,用这样的代码:
#include <pthread.h>
#include <stdio.h>
#include <time.h>
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
void *train()
{
int km;
static int t = 0;
km = 1;
while (km != 10)
{
printf("I'm at %02d km\n", km++);
sleep(1);
if (km == 2)
pthread_mutex_lock(&mutex);
if (km == 4)
pthread_mutex_unlock(&mutex);
}
}
int main()
{
pthread_t train1;
pthread_t train2;
pthread_t train3;
pthread_create(&train1, NULL, train, NULL);
pthread_create(&train2, NULL, train, NULL);
pthread_create(&train3, NULL, train, NULL);
pthread_join(train1, NULL);
pthread_join(train2, NULL);
pthread_join(train3, NULL);
}
Run Code Online (Sandbox Code Playgroud)
这个工作完美(或者我做错了,如果有的话请告诉我) …