我有这个变量
unsigned long long latitude = 29.47667;
Run Code Online (Sandbox Code Playgroud)
当我将此值转换为这样的数组时
ar[7] = (uint8_t)((latitude >> 56) & 0xFF);
ar[6] = (uint8_t)((latitude >> 48) & 0xFF);
ar[5] = (uint8_t)((latitude >> 40) & 0xFF);
ar[4] = (uint8_t)((latitude >> 32) & 0xFF);
ar[3] = (uint8_t)((latitude >> 24) & 0xFF);
ar[2] = (uint8_t)((latitude >> 16) & 0xFF);
ar[1] = (uint8_t)((latitude >> 8) & 0xFF);
ar[0] = (uint8_t)(latitude & 0xFF);
Run Code Online (Sandbox Code Playgroud)
然后使用tcp socket将其发送到服务器.当我发送时,我以十六进制打印值,然后我0x1d全部休息.
如何在将unsigned long long转换为int时将确切的值发送到服务器.
我正在尝试在C中创建一个while循环,它表示构建成功,但它不打印任何东西.我真的没看到什么错,它在控制台中没有显示任何内容.
int main()
{
int w = 0;
while (w >=100){
printf("w = %i" , w);
w++;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 编译时出现此错误:
macro.c:11:2: error: expression is not assignable
ProdottoAumentato(10, 20);
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会这样说,我找不到任何错误.这是代码:
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#define ProdottoAumentato(X, Y) X++; X * Y;
int main(void) {
ProdottoAumentato(10, 20);
printf("\nEnd\n");
return(0);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 C++ 学习非常基本的套接字编程,但我陷入了尝试通过套接字发送随机生成的 int 的部分。
服务器.cpp
int code = rand();
send(connfd, (char*)code, sizeof(int), 0);
Run Code Online (Sandbox Code Playgroud)
客户端.cpp
int code = 0;
recv(connfd, (char*)code, sizeof(int), 0);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我这边有问题
typedef struct
{
int hours;
int minutes;
int seconds;
} Time;
Time calcTime(Time time1, Time time2)
{
Time calc1;
Time calc2;
calc1.hours - calc2.hours;
return calc1; // How do I print this outside the function?
}
Run Code Online (Sandbox Code Playgroud)
如何打印calc1.seconds OUTSIDE函数?
我写了一个C程序如下:
void foo(int *a) {
if (a[1000] == a[1000]) {
printf("Hello");
}
}
int main() {
int *a;
foo(a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我期待这个程序崩溃,因为我没有在&a [1000]分配内存,但程序实际上没有崩溃并打印"Hello".我用命令编译了程序
gcc -O0 foo.c
Run Code Online (Sandbox Code Playgroud)
可能是什么原因?
c memory-management compiler-optimization undefined-behavior
我在理解这个陈述时遇到了问题.我不知道为什么这和其他人不一样.
typedef struct{
short age;
int money;
char c;
}Persoana;
int main(void){
Persoana *a = malloc(sizeof(Persoana));
printf("%ld %ld",sizeof(a->money),sizeof(a->age));
printf(" %ld\n",sizeof(*a)); } ~
Run Code Online (Sandbox Code Playgroud)
代码打印"4212".4和2都可以,但如何如此12 ???
有没有办法分配这个大小的数组:
unsigned long M[2000][900000] ;
Run Code Online (Sandbox Code Playgroud)
这是我运行程序时得到的结果(编译期间没有错误).
Processus arrêté (Process stopped)
Run Code Online (Sandbox Code Playgroud) 为什么我不能这样做:
Time calcTime(Time time1, Time time2)
{
Time calc1;
Time calc2;
calc1.hours - calc2.hours; // It won't subtract!
printf("Result: ", calc1.hours);
}
Run Code Online (Sandbox Code Playgroud)
如果time1.hours为10且time2.hours为5,则结果应为5.但结果为10,因为减法不起作用!
每个人都知道,如果你声明一个8位的值,你可以做类似的事情
int a = B10001110;
Run Code Online (Sandbox Code Playgroud)
就像那个vut我不知道怎么用16位声明它,我做了类似的事情
int b = B1000000100001111;
Run Code Online (Sandbox Code Playgroud)
但这给了我错误.我可以做些什么吗?我想要这个16位格式声明.