【发布时间】:2021-09-14 08:28:50
【问题描述】:
在下面的这段代码中,我输入了一个字符串,但将其转换为整数并打印出来。
int main ()
{
int v6[4];
printf ("Enter a string: ");
int i = scanf ("%s",v6);
printf ("%d ",v6[0]);
return 0;
}
输出:
Enter a string: tom
7171956
它实际上做了什么?
【问题讨论】:
-
这里没有进行任何转换。
-
int v6[4];是作为%s目标的错误类型。 -
启用编译器警告(例如
gcc -Wall -Werror ...)并修复所有警告 -
@4386427 OP 声称他“已将其转换为整数”,但 此处没有进行任何转换。
-
@4386427 非常好。我认为我们可以删除与此相关的 cmets。