我是编码的新手。
实际上,我在玩并尝试使用指针,函数和void指针。
我编写了一个简单的程序来增加不同功能上的“ f”数量。
到目前为止,此代码行之有效,但我收到了该主题的警告。
在这里做什么?
此行出现警告:“ b=*(int*)a;
”
#include <stdio.h>
void test (int *a);
void test2 (int d);
void *stage (const void*);
void *stage2(const void*);
int main() {
int f=0;
//test(&e);
//test2(e);
if (f==0) {
stage(&f);
printf("\n%d",f);
}
if (f==1) {
stage(&f);
printf("\n%d",f);
}
if (f==2) {
f=*(long*)stage2(&f);
printf("\n%d",f);
}
if (f==3) {
f=*(long*)stage2(&f);
printf("\n%d",f);
}
return 0;
}
void test(int *a) {
int b=3;
int c=2;
*a=b+c;
}
void test2(int d) {
d++;
//printf("%d",d);
}
void *stage (const void*num) {
long nr;
nr=(*(int*)num)++;
return (void*)nr;
}
void *stage2(const void*a) {
static void *b;
b=*(int*)a;
if (b==(int*)2)
b+=1;
else if (b==(int*)3)
b+=6;
return &b;
}