Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
输出为C printf_C_Gcc - Fatal编程技术网

输出为C printf

输出为C printf,c,gcc,C,Gcc,-6i在该代码中的含义是什么 #include<stdio.h> int main() { int i = 1234; printf("%d",-6i); } #包括 int main() { int i=1234; printf(“%d”、-6i); } 如果您稍微更改一下代码,可能会: int main(){ int i = 1234; printf("%d",-6*i); } 您可以拿回-7404 要回答第二个问题,请检查此项。如果您稍

-6i
在该代码中的含义是什么

#include<stdio.h>

int main()
{
    int i = 1234;
    printf("%d",-6i);
}
#包括
int main()
{
int i=1234;
printf(“%d”、-6i);
}

如果您稍微更改一下代码,可能会:

int main(){
   int i = 1234;
   printf("%d",-6*i); 
   }
您可以拿回
-7404


要回答第二个问题,请检查此项。

如果您稍微更改一下代码:

int main(){
   int i = 1234;
   printf("%d",-6*i); 
   }
您可以拿回
-7404


要回答第二个问题,请勾选此项。

要回答您真正的问题,
-6i
是一个复数常量(GCC扩展)。发件人:

要编写具有复杂数据类型的常量,请使用后缀“i”或“j”(任意一个;它们是等效的)。例如,
2.5fi
具有类型
\u复数浮点
3i
具有类型
\u复数int
。这样的常数总是有一个纯虚值,但你可以通过在实常数上加一个来形成任何你喜欢的复值。这是一个GNU扩展;如果您有符合ISO C99标准的C库(如GNU libc),并且想要构造浮点类型的复杂常量,则应包含
,并使用宏
I
\u complex\u I

因此
-6i
中的
i
与变量
i
无关,就像浮点常量
-1.0f
中的
f
与名为
f
的变量无关

A旁注,
printf(“%d”,-6i)是未定义的行为,因为格式规范
%d
不处理复杂的参数。GCC没有就复杂类型的表示做出任何承诺(据我所知)。关于
printf()
的作用,你不能说太多

我认为,要打印复杂值,必须分别提取复杂值的每个组件(我不认为glibc的
printf()
具有处理GCC复杂类型的格式规范扩展)。比如:

printf("%d %d\n",__real__ -6i, __imag__ -6i);
printf("%f %f\n",__real__ -6.i, __imag__ -6.i);

为了回答您真正的问题,
-6i
是一个复杂常量(GCC扩展)。发件人:

要编写具有复杂数据类型的常量,请使用后缀“i”或“j”(任意一个;它们是等效的)。例如,
2.5fi
具有类型
\u复数浮点
3i
具有类型
\u复数int
。这样的常数总是有一个纯虚值,但你可以通过在实常数上加一个来形成任何你喜欢的复值。这是一个GNU扩展;如果您有符合ISO C99标准的C库(如GNU libc),并且想要构造浮点类型的复杂常量,则应包含
,并使用宏
I
\u complex\u I

因此
-6i
中的
i
与变量
i
无关,就像浮点常量
-1.0f
中的
f
与名为
f
的变量无关

A旁注,
printf(“%d”,-6i)是未定义的行为,因为格式规范
%d
不处理复杂的参数。GCC没有就复杂类型的表示做出任何承诺(据我所知)。关于
printf()
的作用,你不能说太多

我认为,要打印复杂值,必须分别提取复杂值的每个组件(我不认为glibc的
printf()
具有处理GCC复杂类型的格式规范扩展)。比如:

printf("%d %d\n",__real__ -6i, __imag__ -6i);
printf("%f %f\n",__real__ -6.i, __imag__ -6.i);

我可以告诉你如何找到。@mohan.gade:自己粘贴代码:“什么是-6i”在C程序中-这是一个好问题。@mohan.gade:对不起,我认为这很明显。你可以通过运行它来找到你的代码的输出。它在4后面的两个空格后打印1234。我不明白它的意思。我问了一个问题。我可以告诉你如何找到。@mohan.gade:自己粘贴代码:“什么是-6i”在C程序中-这是一个很好的问题。@mohan.gade:对不起,我认为这很明显。你可以通过运行它来找到你的代码的输出。它在4后面的两个空格后打印1234。我不明白它的意思。我问了很多问题。@MichaelBurr-Tengis的计划不同于老年退休金计划。Tengis程序将为您提供
-7404
。也就是说,作为唯一一个理解OP问题的人,这是一种荣誉。@MichaelBurr-Tengis的计划与OP不同。Tengis程序将为您提供
-7404
。这就是说,作为唯一一个理解OP问题的人,我感到很荣幸。