C语言中,主函数输入了一个字符串,怎样在函数调用里也使用这个字符串?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中,主函数输入了一个字符串,怎样在函数调用里也使用这个字符串?相关的知识,希望对你有一定的参考价值。
/*程序为输入一个字符串,输出每个大写字母的出现次数*/
int count(int i)
int j,num=0;
for(j=0;j<l;j++)
if('i'==s[j]) 这里为函数调用所需数组//
num=num+1;
return num;
int main()
char s[10000];
int i,l;
while(scanf("%s",s)!=EOF)//这里为主函数所输入的字符串
l=strlen(s);
for(i=65;i<91;i++)
printf("%c:%d\n",i,count(i));
error C2065: 'l' : undeclared identifier
error C2065: 's' : undeclared identifier
error C2109: subscript requires array or pointer type
这三个为错误。。
求解!。。。
那怎样才可以。。还是我这个思想本身就行不通?。。
我这个思想是循环输出,每输出一个,调用一次函数,函数里需要这个输入语句。。
定为全局变量呢?。。执行过后发现wrong answer了 = =
一定要用的话就把它们声明成外部变量吧……
char s[10000];
int l;
这两句放在文件的最前面,然后把main函数的对应定义删掉……
结果还有错误就是程序逻辑问题了,目测问题在if('i'==s[j])一句……
哈!成功了,我那句if('i'==s[j])也写错了,改成if(i==s[j])就对了,可是i是数字,s[j]是字符串对应的字母或者其他字符啊,为什么能匹配。。?
追答内存里面存储的是字符的编码,这个编码也不过是一个整数,因而能和数字比较……
参考技术A 呵呵,也是itat的考生啊,我做出来了忘带回来了简单说一下思路,先测出句子的长度,用strlen(a),然后让指针p指向末尾:p=a+strlen(a),然后递减输出就行了
以上是关于C语言中,主函数输入了一个字符串,怎样在函数调用里也使用这个字符串?的主要内容,如果未能解决你的问题,请参考以下文章