Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
程序在for循环-C之后执行_C_Loops - Fatal编程技术网

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

程序在for循环-C之后执行,c,loops,C,Loops,这是我的问题。在我输入一些输入并点击回车后,程序立即执行。我发现这个问题是由于我使用的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", myStri

这是我的问题。在我输入一些输入并点击回车后,程序立即执行。我发现这个问题是由于我使用的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");

}
#包括
#包括
#包括
main(){
char myString[100];
char myChar=myString[6];
int i;

对于(i=0;i您试图读取101个字符串
%s
,但您为100个字符分配了空间。您将字符而不是字符指针传递到
scanf
,导致崩溃

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

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

您还应该替换您正在使用的字符串格式(
%s
),但传递的字符
myString[i]
。这不好。

一个问题可能是for循环:

for(i=0; i<=100; i++){
    scanf("%s", myString[i]);
 }
对于(i=0;i你应该写:

 for(i = 0; i < 100; i++)
 {
    scanf("%c", &myString[i]);
 }
顺便说一句,下面这行:

char myChar = myString[6];

它应该放在调用“scanf”之后,否则mychar将始终是“c”

您所说的“键入一些输入并按enter”是什么意思?在尝试编写代码之前,你真的应该先读一本关于C的书。我的建议是,这其实并不像听起来那么难。无论如何,祝你未来的C编码好运!他甚至在尝试读取101个字符串。那么我如何从用户那里获得字符串呢?@JoachimPileborg谢谢你的更正!@Srivathsan请查看编辑。@Srivathsan你刚刚好吗
scanf(“%s”,myString);
没有循环
scanf("%s", &myString);
char myChar = myString[6];