C 和加法,先整数后后

标签 c imperative-programming

我来自 Java,我想提高我的编码技能和对其工作原理的深入了解,我认为最好的语言是 C 语言。我对它的工作原理感到非常兴奋,但现在请向我提出疑问。为什么在 C 中第一个代码不起作用而第二个代码可以?

P.s.:我将跳过几个步骤来加速代码并专注于问题。我正在学习C99。

int a,b,c;
int sum = a+b+c;
print scanf ecc...
printf("%d", sum);

结果将是-1234567 ecc..

使用这段代码它会工作得很好,这就是命令式编程的意思吗?

int a,b,c;
int sum;
print scanf ecc...
sum = a+b+c;
printf("%d", sum);

抱歉,英语不是我的母语,我也会改进:°D

最佳答案

当您使用代码的第一部分时,即

     int a,b,c;
     int sum = a+b+c;
     print scanf ecc...
     printf("%d", sum);

它会首先添加 abc 然后会产生垃圾值的结果

在第二种情况下

     int a,b,c;
     int sum;
     print scanf ecc...
     sum = a+b+c;
     printf("%d", sum);

它将使用 scanf 读取值,然后添加这些值,这样就不会采用垃圾值并产生美妙的结果

关于C 和加法,先整数后后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38705065/

相关文章:

c - strstr 函数不返回 NULL

c++ - 在 C 语言中使用 "{}"进行强制转换有什么好处?

OCaml 变量,在函数调用之间保持它的值

c - 与面向对象相比,对象和实例对于像 C 这样的命令式语言有其他含义吗?

algorithm - 在函数范式中实现 Karger 的最小割算法

java - 创建 MIPS 汇编器

c - Berkeley DB 中的函数指针迭代器

C程序求根错误

c++ - 函数式编程中纯函数的缺点

php - 如何从 PHP 扩展返回数组,而不将其复制到内存中?