C语言问题:为啥函数调用的这句delnum(item);改成void delnum(char *item)就不对呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言问题:为啥函数调用的这句delnum(item);改成void delnum(char *item)就不对呢相关的知识,希望对你有一定的参考价值。

#include "stdio.h"
void delnum(char *s)

int i,j;
/***********SPACE***********/
for(i=0,j=0; s[i]!= '\0' ;i++)
/***********SPACE***********/
if(s[i]<'0' ||s[i]>'9')

/***********SPACE***********/
s[j]=s[i] ;
j++;

s[j]='\0';

void main ()

char *item;
printf("\n input a string:\n");
gets(item);
/***********SPACE***********/
delnum(item);
printf("\n%s",item);

void delnum(char *item)
是声明. 不会调用函数.
delnum(item);
才是调用,真正会执行delnum
参考技术A void delnum(char *item) : 函数声明

delnum(item); 函数调用追问

我问的是为什么函数调用不能写成void delnum(char *item)

追答

函数声明: 表示这里有个方法可以去实现你要的,只是“声明,什么也不做”
函数调用: 表示采用 “方法” 去做你要是实现的,强调的是 “应用该方法去做”

追问

char *item;//这里只是定义了一个指针变量,还没有初始化啊为什么也能运行

本回答被提问者采纳
参考技术B char *item;//这里只是定义了一个指针变量,还没有初始化啊追问

什么意思,跟我问的有什么关系

追答

我其实没有弄明白你要问什么,只是看到你的程序有这个问题而已。

item没有初始化
gets(item);
delnum(item);
这两个函数调用都是会出错的,这就是传说中的“野指针”了。

追问

不会出错,你把它拷进去编译器试试看

C语言中怎样调用函数(举个例子)

C语言中调用函数的方法及步骤:

工具/原料:C语言

1、首先需要输入想要调用的函数。

2、然后当输入一个括号后,即可观察他的参数。

3、接着在对应的参数中输入参数值。

4、然后,系统会发生一个警告。

5、接着需要调用它相应的头文件。

6、最后再次编译,发现没有任何警告和错误即可。

参考技术A #include <stdio.h>
main()

int a,b,sum;
a=10;
b=24;
sum=add(a,b);//这句话就是函数调用,调用的是下面 add函数
printf("sum= %d\\n",sum);


int add(int x,int y)

int z;
z=x+y;
return(z);

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。  目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

参考技术B 我想C语言中调用函数分以下内几部:
1)根据调用的函数名找到函数入口;
2)在栈中审请调用函数中的参数及函数体内定义的变量的内存空间
3)函数执行完后,释放函数在栈中的审请的参数和变量的空间,最后返回值(如果有的话)
参考技术C 将函数写在主程序后面,主函数前面应该声明,我从前是这样学的,现在的编译软件可能兼容了吧,如果函数多了声明也容易看,这个函数的声明就在main前面把int add(int x,int y);写上最好了,如果不用声明则将整个函数放在main以前,以后子函数多了也可以方便的看到定义了哪些子函数,如果程序很大,声明放在一个文件里,函数实现放在另一个文件里,好长时间没动了,当时好像老师是这么说过,main前面最好加类型int ,好给程序最后一个返回值比如return 0;我学的本来就不好,不在这里瞎指挥了,如果错了希望大家多多原谅,因为时间太长了,记不住了 参考技术D #包括中
主要()



A,B,总和;

= 10;

B = 24;

总和=新增(A,B);/ /这句话是一个函数调用,调用以下新增功能

printf(“请总和=%D \ N”,总结);

<BR /

诠释添加(诠释,诠释y)



Z;

Z = X + Y;

回报(Z);

以上是关于C语言问题:为啥函数调用的这句delnum(item);改成void delnum(char *item)就不对呢的主要内容,如果未能解决你的问题,请参考以下文章

求助c语言大佬们,急! 为啥我多次调用函数,然而输出的时候只有第一层函数输出了,后几层的都没有输

递归就是在过程或函数里调用自身 这句话怎么理解?举个例子

C语言中啥叫调用函数?为啥函数和函数之间是调用关系?

C语言中函数为啥可以嵌套定义 ?

C语言中关于结构体指针为啥不能在函数内赋初值的问题?

x86上为啥C语言调用一个函数要先把参数压栈,之后才是返回地址