gpt4 book ai didi

c - scanf_s 每次都返回 Null

转载 作者:太空宇宙 更新时间:2023-11-04 06:16:45 25 4
gpt4 key购买 nike

我正在对两个不同的输入使用 scanf_s 并将它们放入 char 数组中。我附上了代码和它给出的输出

char firstName[30];
char lastName[30];


int main() {

// Input Name
printf("Please input your name: ");
scanf_s("%s %s", firstName, 30, lastName, 30);

printf("%s %s", firstName[30], lastName[30]);
_getch();

return 0;
}

输出是:

Please input your name: Jane Smith
(null) (null)

对这个问题的任何帮助都会很好,因为我所做的任何 scanf_s 都不起作用,这让我发疯。

最佳答案

您的 scanf_s 调用没问题。您需要更改的是行:

printf("%s %s", firstName[30], lastName[30]);

像这样使用 printf,您试图打印 firstNamelastName 位置 30 中的元素数组,它不仅要求打印特定位置而不是整个数组,而且超出了数组的范围。这会调用 undefined behaviour .

将其替换为:

printf("%s %s", firstName, lastName);

关于c - scanf_s 每次都返回 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43865321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com