一道c语言题目?

、下面程序的功能是:根据输入的整数x和n,利用函数fact实现求x的n次方xn。例如:输入:2,3 输出23=8请在程序中的横线上填入正确的内容,将程序补充完整。#include "stdio.h"void main( ){ long int fact(long x,long n) ; /*声明fact函数*/long int x ;long int n;printf("please enter X and N(>=0): ");scanf("%ld,%ld", &x, &n );printf("%ld,%ld=%ld",x,n, ); /*调用fact函数 */} long int fact(long int x, long int n) /*定义fact函数求xn */{ long int i,s;; /*求累积变量的初始化*/if (n= =0) return 1;for(i=1; i<=n; i++) /*用循环实现xn*/s=s*x;; /*返回结果xn*/}

第1个回答  2019-11-28
第一个空
fact(x,n)
第二个空
s=1
第三个空
return s追问

为什么S等于1

追答

根据程序上下文,s=s*x,只有s=1合适

本回答被提问者采纳
第2个回答  2019-11-28
横线在哪里呢?
看了下,s没初始化,fact没返回结果
应该在if前加上 s= 1;
在 s=s*x之后加上return s;
相似回答