有关c语言的一个问题
从键盘上读入一行字符,在屏幕上输出该行字符的长度及内容(先输出长度,后输出内容)。注意:(1)以回车表示行结束且回车不计入输入内容。若读入过程中发生错误或遇到文件结束,则...
从键盘上读入一行字符,在屏幕上输出该行字符的长度及内容(先输出长度,后输出内容)。
注意:
(1)以回车表示行结束且回车不计入输入内容。若读入过程中发生错误或遇到文件结束,则也表示行输入结束。
(2)若用户输入时输入了很多字符,则仅读入前100个字符。
(3)不能使用库函数gets、fgets、strlen或使用同名的变量、函数、单词。
(4)编程可用素材:printf("input a string: ")...、printf("\nThe string lenth is: ...、printf("\nThe string is: ...。
这是题目要求,下面是我编的程序。
#include <stdio.h>
int main(void)
{
char ch[10];
int i;
printf("input a string: \n");
for (i = 0 ; (ch[i] = getchar()) != '\n' && i < 100 ; i++)
{
;
}
printf("\nThe string lenth is: %d", i);
printf("\nThe string is: %s", ch);
return 0;
}
运行的时候会出现个什么指令引用的什么内存不能为read。但还是有结果的,而且结果也是正确的 展开
注意:
(1)以回车表示行结束且回车不计入输入内容。若读入过程中发生错误或遇到文件结束,则也表示行输入结束。
(2)若用户输入时输入了很多字符,则仅读入前100个字符。
(3)不能使用库函数gets、fgets、strlen或使用同名的变量、函数、单词。
(4)编程可用素材:printf("input a string: ")...、printf("\nThe string lenth is: ...、printf("\nThe string is: ...。
这是题目要求,下面是我编的程序。
#include <stdio.h>
int main(void)
{
char ch[10];
int i;
printf("input a string: \n");
for (i = 0 ; (ch[i] = getchar()) != '\n' && i < 100 ; i++)
{
;
}
printf("\nThe string lenth is: %d", i);
printf("\nThe string is: %s", ch);
return 0;
}
运行的时候会出现个什么指令引用的什么内存不能为read。但还是有结果的,而且结果也是正确的 展开
展开全部
for (i = 0 ; (ch[i] = getchar()) != '\n' && i < 100 ; i++)
注意语句中的"i<100",你的的ch[]最多只有10个元素,而你的i<100,造成非法访问,导致“内存不能为read”。
注意语句中的"i<100",你的的ch[]最多只有10个元素,而你的i<100,造成非法访问,导致“内存不能为read”。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main(void)
{
char ch[100]; //数组空间太小了
int i;
printf("input a string: \n");
for (i = 0 ; (ch[i] = getchar()) != '\n' && i < 100 ; i++)
{
;
}
printf("\nThe string lenth is: %d", i);
printf("\nThe string is: %s", ch);
return 0;
}
有问题再追问
int main(void)
{
char ch[100]; //数组空间太小了
int i;
printf("input a string: \n");
for (i = 0 ; (ch[i] = getchar()) != '\n' && i < 100 ; i++)
{
;
}
printf("\nThe string lenth is: %d", i);
printf("\nThe string is: %s", ch);
return 0;
}
有问题再追问
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-10-25
展开全部
getchar的问题,你用scanf %c输入就没问题了,而且你漏了
ch[i]='\0';
ch[i]='\0';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询