xde*_*000 3 c format-specifiers c11
在C11规范中说参数类型%p必须是void **在scanf()函数的情况下,但我无法想象如何输入一个地址并将其存储到一个void **.事实上,如果我试图做:
void **p;
scanf("%p", p);
Run Code Online (Sandbox Code Playgroud)
我遇到了分段错误.
PS C11规格:
相应的参数应该是指向void的指针
void **p;
scanf("%p", p);
Run Code Online (Sandbox Code Playgroud)
因为同样的原因不起作用
int *i;
scanf("%i", i);
Run Code Online (Sandbox Code Playgroud)
不起作用 - 你正在写一个未初始化的指针(或告诉scanf写一个,至少).
这有效:
int i;
scanf("%i", &i);
Run Code Online (Sandbox Code Playgroud)
这样做:
void *p;
scanf("%p", &p);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1524 次 |
| 最近记录: |