Ошибка отладки! Выражение: result_pointer = nullptr

Я пишу программу на C ++ для поиска заданного целого числа в массиве, однако при попытке отладки программы Visual Studio (я использую версию vs 2015 pro) жалуется на ошибку подтверждения отладки:
введите описание изображения здесь

Вот мой код, это довольно просто:

int main() {
int searchArray[10] = { 324,4567,6789,5421345,7,65,8965,12,342,485 };
//use searchKey for the number to be found
//use location for the array index of the found value
int searchKey, location;

//write code to determine if integers entered by
//the user are in searchArray
//initiate searchKey and location
searchKey = 0;
location = 0;
int n = sizeof(searchArray) / sizeof(searchArray[0]);
//let user define the search key, give -1 to quit
while (true)
{
std::cout << "Enter an integer ('-1') to quit: ";
scanf_s("%d", searchKey);
std::cout << searchKey << "\n";
if (searchKey == -1)
{
break;
}
for (location; location < n; location++)
{
if (searchArray[location] == searchKey)
{
break;
}
location = -1;
}
if (location != -1)
{
std::cout << searchKey << " is at location " << location << " in the array.\n";
}
else
{
std::cout << searchKey << " is not in the array.\n";
}
}
return 0;
}

0

Решение

Каждый аргумент должен быть указателем на переменную типа, которая соответствует спецификатору типа в формате.

Просто измените код «scanf_s («% d «, searchKey)» на:

scanf_s("%d", &searchKey);

Это будет хорошо работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]