永发信息网

在C语言中,什么情况下子函数的结尾要添加“;”?

答案:5  悬赏:0  手机版
解决时间 2021-02-05 18:03
  • 提问者网友:棒棒糖
  • 2021-02-05 09:37
运行是对的,就是看不懂(求解) 片段如下:
void UserInfoView() { //输出所有用户及其基本信息
SystemUser *tmpUser;
tmpUser = pSystemUserHead;
printf("亲爱的管理员%s,你好,你查看的所有用户信息如下:\n",currentUser);
printf("用户名\t密码\t用户类型(1代表管理员,2代表店长,3代表销售员)\n");
while(NULL != tmpUser){
printf("%s\t%s\t%d\n",tmpUser->userName,tmpUser->password,tmpUser->userType);
tmpUser = tmpUser->next;
}
};

void UserInfoAdd() { //添加用户
SystemUser tmpUser;
printf("亲爱的管理员%s,请依次输入用户信息:\n",currentUser);
printf("用户名:");
scanf("%s",tmpUser.userName);
printf("用户密码:");
scanf("%s",tmpUser.password);
printf("用户类型(1代表管理员,2代表店长,3代表销售员):");
scanf("%d",&tmpUser.userType);
tmpUser.next = NULL;

if(FUNCTION_SUCCESS == AddUser(&tmpUser))
printf("用户信息添加成功!");

};

void UserInfoModify() { //修改用户信息(modify)
char userName[20];
SystemUser *pUser;
printf("亲爱的管理员%s,请输入要修改的用户账号:\n",currentUser);
scanf("%s",userName);
pUser = pSystemUserHead;
while(NULL != pUser) {
if(0 == strcmp(pUser->userName,userName)) {
printf("请输入新的帐号:");
scanf("%s",pUser->userName);
printf("请输入新的密码:");
scanf("%s",pUser->password);
printf("请输入新的用户类型(1代表管理员,2代表店长,3代表销售员):");
scanf("%d",&pUser->userType);
printf("用户信息修改成功\n");
return ;
}
}
printf("对不起,没有你查找的用户信息!");
};
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-02-05 10:10
函数结尾是不用加“;”的,如楼上所说,只有声明的时候需要。
至于这边三个函数,其实最后“;”是多余的,编译的时候,编译器读到“}”匹配后就知道这个函数结束,而后面的“;”,编译器会认为是一个空语句,相当于什么也没干,是不会报错的,运行时也不会出错。
“;”一般用于一个语句的语句的结尾,在函数的结尾、预处理命令的结尾都是不需要加的,一般容易忘的是,在类和结构体定义的结尾要加“;”
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-02-05 13:46
子函数末尾是不用加";"的,加个“;”的话,编译器可能把它优化了
  • 2楼网友:愁杀梦里人
  • 2021-02-05 12:56
声明的时候要加。你这里是函数定义,其实不用加。
  • 3楼网友:话散在刀尖上
  • 2021-02-05 12:16
你在主函数里面调用子函数这是子函数相当于主函数的一条语句,所以要加上
  • 4楼网友:妄饮晩冬酒
  • 2021-02-05 10:59
一个函数有3部分,函数的声明,内容,和调用,函数的声明一般写在程序的开头,需要加; 函数的具体内容可以写在后面,这时候就不用加, 但在开头声明的时候就可以直接写函数内容,就像你现在这样的,声明和内容在一起 且写main函数前面 , 分号写不写就无所谓了... 就是只有声明函数的时候才加分号
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯