Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

cannot identify the problem with my c program


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You have plenty of both semantic and syntactic errors:

  1. You've forgot to #include <stdio.h> for necessary printf(), scanf(), etc.

  2. option = 3 assigns the option variable to integer 3, whereas your work was to compare through the relational operator ==. So, change all the expressions from x = N to x == N.

  3. You must use & to point to the address when using scanf() for integers.

  4. Replace the factorial counter with this:

    int temp = 1;
    
    while (temp++ < n)
        p *= temp;
    
  5. ans = base ^ exp, here ^ is called exclusive OR, it's not the sign of mathematical power. Replace this with:

    double ans = pow(base, exp);
    printf("%d ^ %d is %.2lf
    ", base, exp, ans);
    

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...