#include <stdio.h>
int main(void) {
printf("%d\n", 50.2);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
〜当我执行它时.
50.2的二进制是(0100 0010 0100 1000 1100 1100 1100 1101).
所以,我预计1,112,067,277,但是,值不是,也不是固定的.
每次都会改变这些值,为什么?
之间有什么区别
char *key_str="kiwi";
Run Code Online (Sandbox Code Playgroud)
和
char *key_str = strdup("kiwi");
Run Code Online (Sandbox Code Playgroud)
例如:
int strCmp(void *vp1, void *vp2) {
char * s1 = (char *) vp1;
char * s2 = (char *) vp2;
return strcmp(s1, s2);
}
Run Code Online (Sandbox Code Playgroud)
为什么这些*key_str在函数中使用时表现不同strCmp()?
源代码:https : //github.com/alexparkjw/typing/blob/master/pa2.c
#include<stdio.h>
int main(void) {
char op;
int arr[3];
printf("input ");
scanf("%d %c %d", arr,&op,arr+1);
arr[3]=arr[0]-arr[1]; //here
printf("[%c] %d\n", op, arr[3]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
arr [3] = arr [0] -arr 1 ; printf("[%c]%d \n",op,arr [3]);
为什么不打印%c?
问题来自 https://www.hackerrank.com/challenges/coolguy-and-two-subsequences
它在下面说.
//f(a, b) is a function that returns the minimum element in interval [a, b]
ans = 0
for a -> [1, n]
for b -> [a, n]
for c -> [b + 1, n]
for d -> [c, n]
ans = ans + min(f(a, b), f(c, d))
Run Code Online (Sandbox Code Playgroud)
我不明白函数f(a,b)是什么.例如f(1,1)是什么价值,为什么?拜托,解释简单的方法.