Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Shell 在Mac终端上C编译器的无限循环中创建并行算术运算符 #包括 #包括 #包括 #包括 真空总管(真空) { while(1)//无限循环 { INTA,b; printf(“给我一个整数a:”); scanf(“%d”和“&a”); printf(“给我一个整数b:”); scanf(“%d”和“b”); 总和=&a+&b; 产品=&a*&b; 差异=&a-&b; echo这是您的和、积和差: printf(“总和:%d+d%=%d.\n”,a、b、总和); printf(“产品:%d*d%=%d.\n”,a、b、产品); printf(“差异:%d-d%=%d.\n”、a、b、差异); 返回0; } }_Shell_Command Line_Scripting_C - Fatal编程技术网

Shell 在Mac终端上C编译器的无限循环中创建并行算术运算符 #包括 #包括 #包括 #包括 真空总管(真空) { while(1)//无限循环 { INTA,b; printf(“给我一个整数a:”); scanf(“%d”和“&a”); printf(“给我一个整数b:”); scanf(“%d”和“b”); 总和=&a+&b; 产品=&a*&b; 差异=&a-&b; echo这是您的和、积和差: printf(“总和:%d+d%=%d.\n”,a、b、总和); printf(“产品:%d*d%=%d.\n”,a、b、产品); printf(“差异:%d-d%=%d.\n”、a、b、差异); 返回0; } }

Shell 在Mac终端上C编译器的无限循环中创建并行算术运算符 #包括 #包括 #包括 #包括 真空总管(真空) { while(1)//无限循环 { INTA,b; printf(“给我一个整数a:”); scanf(“%d”和“&a”); printf(“给我一个整数b:”); scanf(“%d”和“b”); 总和=&a+&b; 产品=&a*&b; 差异=&a-&b; echo这是您的和、积和差: printf(“总和:%d+d%=%d.\n”,a、b、总和); printf(“产品:%d*d%=%d.\n”,a、b、产品); printf(“差异:%d-d%=%d.\n”、a、b、差异); 返回0; } },shell,command-line,scripting,c,Shell,Command Line,Scripting,C,我的void main(void)在第6行不断出现语法错误 使用子进程创建3个并行进程。此程序存在一系列问题,并且没有并行执行任何操作: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> void main (void) { while(1) // infinite loop {

我的void main(void)在第6行不断出现语法错误
使用子进程创建3个并行进程。

此程序存在一系列问题,并且没有并行执行任何操作:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

void main (void)
{
        while(1) // infinite loop
        {
                int a, b;
                printf("Give me an integer a: ");
                scanf("%d",&a);
                printf("Give me an integer b: ");
                scanf("%d",&b);
                        sum = &a + &b;
                        product = &a * &b;
                        difference = &a - &b;
                        echo Here is your sum, product, and difference:
                        printf("Sum: %d + d% = %d.\n", a, b, sum);
                        printf("Product: %d * d% = %d.\n", a, b, product);
                        printf("Difference: %d - d% = %d.\n", a, b, difference);
                return 0;
        }
}
这通常会编译,但根据C标准,这是不正确的。不带参数的
main()
的签名应该是
int main(void)

您使用的是
a
b
的地址,而不是值,因此对于
sum
product
difference
(除了没有定义最后三个之外)您总是会得到相同的结果。正确的版本应该是:

sum = &a + &b;
product = &a * &b;
difference = &a - &b;
echo这是您的和、积和差:
这不是一个C构造,因此编译器会对此进行抱怨。使用
printf()

虽然您已经指出循环应该是无限的,但它不是无限的,因为您在循环结束时退出了函数

sum = &a + &b;
product = &a * &b;
difference = &a - &b;
sum = a + b;
product = a * b;
difference = a - b;
return 0;