Проблема с простой программой подсчета

#c

#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", amp;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;
}
  

Комментарии:

1. Прототип и сигнатура функции testCount отличаются, изменяются на void testCount(int); , кроме того, вы забыли передать count testCount();

2. Самая странная программа на свете!!!

Ответ №1:

Вам необходимо #include <stdio.h> устранить проблему с printf() помощью and scanf() . У вас есть #include <stdlib.h> два раза.

Кроме того, вы должны изменить:

 void testCount ();
  

Для:

 void testCount (int x);
  

как было предложено @ Keine Lust. И, пожалуйста, не забудьте передать значение вашей недавно созданной testCount() функции!

Комментарии:

1. Хорошо, извините, это была довольно глупая ошибка. Спасибо за вашу помощь 🙂

2. Иногда требуется другой набор глазных яблок, чтобы увидеть самые простые вещи 🙂

3. кстати, в коде, который вы нам показали, нет ничего, что требовало ctype.h бы, поэтому вам следует удалить это из вашего #include s, если вы не планируете его использовать.

Ответ №2:

Много ошибок в программе.

  1. Вы объявили <stdlib.h> дважды.

  2. Вы ничего не печатаете для получения выходных данных.

  3. Либо testcount() должен выводить выходные данные, либо возвращать их в main().

  4. testcount() должен принимать count в качестве аргумента.

    Внесите следующие изменения:

     #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", amp;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);
       }
      

Комментарии:

1. Большое вам спасибо, думаю, я исправил это сейчас.