c语言问题求教 利用函数判断字符串中是否全为数字

#include"string.h"#include"stdafx.h"#definen100intmain(intargc,char*argv[]){printf("*... #include "string.h" #include "stdafx.h" #define n 100 int main(int argc, char* argv[]) { printf("*******************第八单元 函数 判断一串字符串是否全为数字*********************"); char a[n]; int isnumber(char a[n]); printf("请输入一串字符串:\n"); scanf("%s",&a[n]); isnumber( a[n]); printf("Hello World!\n"); return 0; } int isnumber(char a[n]){ int c=0; int i =0; while(c<=9&&c>=0){ c = a[i]; i++; } if (i =(strlen(a[n])-1)){ printf("全为数字"); } else{ printf("不全为数字"); } return 0; } error C2065: 'strlen' : undeclared identifier 执行 cl.exe 时出错. error C2664: 'isnumber' : cannot convert parameter 1 from 'char' to 'char []' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast 展开
 我来答
表鸾紫辰阳
2019-12-06 · TA获得超过1092个赞
知道小有建树答主
回答量:1315
采纳率:100%
帮助的人:8.9万
展开全部
#include
"string.h"
#include
"stdio.h"
#define
n
100
int
main(int
argc,
char*
argv[])
{
printf("*******************第八单元
函数
判断一串字符串是否全为数字*********************");
char
a[n];
int
isnumber(char
a[n]);
printf("请输入一串字符串:\n");
scanf("%s",a);//想要将输入字符串存储在数组a中,用a作为后面的参数就行,它即表示一个地址。
isnumber(
a);
printf("Hello
World!\n");
return
0;
}
int
isnumber(char
a[n])
{
int
c=0;
int
i
=0;
while(c<=9&&c>=0)
{
c
=
a[i];
i++;
}
if
(i
=(strlen(a)-1))//strlen求得一个字符串的长度,参数为一个字符串地址,所以要用a,a[n]是数组的第一个字符
{
printf("全为数字");
}
else
{
printf("不全为数字");
}
return
0;
}
逢歌辛兴腾
2019-04-30 · TA获得超过1161个赞
知道小有建树答主
回答量:1281
采纳率:88%
帮助的人:5.5万
展开全部
你这都搞不清a和a[n]的区别,一个是char*,一个是char。主函数里调用isnumber传参数改为a,isnumber函数定义时,括号里面参数改为char
*a,还有strlen(a)求字符串长度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柏金霍南霜
2019-05-08 · TA获得超过1015个赞
知道小有建树答主
回答量:1146
采纳率:100%
帮助的人:4.7万
展开全部
问题比较多
修改如下
供参考
有哪里不明白请追问
#include
"string.h"
#include
"stdafx.h"
#define
n
100
int
main(int
argc,
char*
argv[])
{
printf("*******************第八单元
函数
判断一串字符串是否全为数字*********************");
char
a[n];
int
isnumber(char
a[n]);
printf("请输入一串字符串:\n");
scanf("%s",a);//用a即可
&a[n]是越界后第一个存储区间地址
isnumber(
a);//同理
printf("Hello
World!\n");
return
0;
}
int
isnumber(char
a[n]){
int
i
=0;
while(a[i]
&&
a[i]<='9'&&a[i]>='0'){
i++;
}
if
(i
==(strlen(a))){//判断用==
printf("全为数字\n");
}
else{
printf("不全为数字\n");
}
return
0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式