c - 初学者的程序总是崩溃

标签 c crash

我是 C 语言新手,编写了一个用于生成兴趣表的小程序。然而,程序不断崩溃。不幸的是,我没有真正找到任何匹配的答案,并且我没有解决它的想法。如何修复程序崩溃?

#include <stdio.h>
#include <stdlib.h>
float kapital;
float zins(int jahr, int prozent);


void tabelle()
{
    printf("\n    |1%    2%    3%    4%    5%    6%    7%    8%    9%    10%");
    printf("\n----+---------------------------------------------------------\n");

    int jahr,prozent;

    for(jahr=1; jahr<=10; jahr++)
    {
        printf("%3d |", jahr);
        for(prozent=1; prozent<=10; prozent++)
        {
            printf("%5d", zins(jahr, prozent));
        }
        printf("\n");
    }
}//tabelle()

float zins(jahr,prozent)
{
  float zinssatz = prozent/100;
  int i;
  float kapitalneu;
  float zwischenkapital=kapital;

  for(i=1;i<=jahr;i++)
  {
      kapitalneu = kapital*zinssatz;
      zwischenkapital = zwischenkapital + kapitalneu + 0.005; //+0.005 um zu     runden, um die Tabelle im Rahmen zu halten
  }
  return zwischenkapital;

}//zins(p,j)

int main()
{
    printf("Kapital :");
    scanf("%i", kapital);
    tabelle();

}//main()

最佳答案

在 zins() 函数的定义中,您应该编写与前向声明中相同的类型,因此更改 float zins(jahr, prozent)float zins(int jahr, int prozent)它会编译。另外,在您的主要功能中,您应该更改 scanf("%i", kapital);scanf("%f", &kapital); ,因为您需要为 scanf 函数提供一个地址来存储输入,该输入是 float ,您可以使用 %f。另外,通常最好不要使用全局变量。

关于c - 初学者的程序总是崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40705690/

相关文章:

c# - Release模式应用失败

android - 打开“编辑”对话框并旋转设备时,应用崩溃

visual-studio-2008 - 为什么Visual Studio经常崩溃?

google-chrome - http://a/%% 30%30如何工作?

c - 链表查询

c - 如何检查特定字符的字符串

c - 套接字编程 connect() 在我第二次运行循环时失败

c - 2D 双 for 循环不起作用

从输出文件夹共享调试 APK 时 Android 应用程序崩溃

c - 如何理解定义宏中的运算符 "\"?