gpt4 book ai didi

c - 程序在 for 循环之后执行 - C

转载 作者:行者123 更新时间:2023-11-30 19:55:38 24 4
gpt4 key购买 nike

这是我的问题。在我输入一些输入并按回车键后,程序立即执行。我发现问题是由于我使用的 for 循环造成的。这是代码。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

main(){


char myString[100];
char myChar = myString[6];
int i;

for(i=0; i<=100; i++){
scanf("%s", myString[i]);
}

printf("%c\n", myChar);
system("pause");

}

最佳答案

您正在尝试读取 101 个字符串 %s ,但您分配了 100 个字符的空间。您将一个字符而不是字符指针传递给 scanf ,导致崩溃。

如果您尝试读取 100 个字符,则应该传递 %c在格式行中, scanf 参数部分中的地址调用:

scanf("%c", &myString[i]);

您还应该替换 <=< ,或分配myString[101] .

如果您想获取一个字符串,请调用 scanf一次,不循环:

scanf("%99s", myString); // myString is the same as &myString[0]

在将任何数据放入字符数组之前,您还会读取第 6 个字符。该值在for之后不会改变。循环。

关于c - 程序在 for 循环之后执行 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11578268/

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