简单的计数程序问题

时间:2016-10-18 08:03:02

标签: c

出于某种原因,我的printf和scanf显然是未申报的。我认为这与我的功能有关,我不太了解。

#include<stdlib.h>
#include<stdlib.h>
#include<ctype.h>

void testCount ();

int eleven = 11;
int input = 0;
int output = 0;
int count = 0;

int main (){
    printf("What number would you like to count to?");
    scanf("%d", &count);
    testCount();
    system("pause");
    return 0;
}

void testCount (int x){
    int y;
    for(y=1;y<count;y++){
        if (x < 10){ 
           x + 1;
        }
    }    
    output = input/eleven;
}

2 个答案:

答案 0 :(得分:3)

您需要#include <stdio.h>通过printf()scanf()解决问题。你有#include <stdlib.h>两次。

另外,你应该改变:

void testCount ();

为:

void testCount (int x);
按照@ Keine Lust的建议。请不要忘记将值传递给新创建的testCount()函数!

答案 1 :(得分:0)

程序中有很多错误。

  1. 您宣布<stdlib.h>两次。
  2. 您没有打印任何内容以获得输出。
  3. testcount()应该打印输出或将其返回到main()。
  4. testcount()应该算作argumnet。

    进行以下更改:

    #include <stdlib.h>
    #include <stdio.h>       //declaration of stdio lib
    #include <ctype.h>
    
     void testCount (int);  // declaration of datatype of parameter
    
     int eleven = 11;
     int input = 0;
     int output = 0;
     int count = 0;
    
     int main ()
      {
    printf("What number would you like to count to?");
    scanf("%d", &count);
    testCount(count);         // pass value of count so function testcount() can copy that value to variable x 
    system("pause");        // no need of this line
    return 0;
     }
    
      void testCount (int x)
      {
       int y;
        for(y=1;y<count;y++)
         {
    
    
    if (x < 10)
      { 
         x + 1;
       }
        }    
       output = input/eleven;
    
       printf("Output is :%d",output);
       }