初学C编程基础

时间:2012-01-20 21:48:58

标签: c

我遇到以下代码的问题

#include <stdio.h>
int main()                /* Tidsberäkning YO */
{
    float tid1, tid2;
    printf("Tid i första åket? ");
    scanf("%f", %tid1);
    printf("Tid i andra åket? ");
    scanf(%f", &tid2);
    printf("Total Tid: %f\n", tid1+tid2);
    printf(Genomsnittlig tid: %f\n", (tid1+tid2)/2);
}

这是错误日志

c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(6): error C2059: syntax error : '%'
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(8): error C2143: syntax error : missing ')' before '%'
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(8): error C2198: 'scanf' : too few arguments for call`
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(8): error C2001: newline in constant
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(8): error C2065: 'f' : undeclared identifier
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(8): error C2143: syntax error : missing ';' before 'string'
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(8): warning C4552: '%' : operator has no effect; expected operator with side-effect
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(9): error C2146: syntax error : missing ';' before identifier 'printf'
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(10): error C2065: 'Genomsnittlig' : undeclared identifier
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(10): warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(10): warning C4024: 'printf' : different types for formal and actual parameter 1
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(10): error C2146: syntax error : missing ')' before identifier 'tid'
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(10): error C2017: illegal escape sequence
c:\users\shaggydoo\documents\visual studio 2010\projects\ilikecake\ilikecake\hellobro.c(10): error C2001: newline in constant

6 个答案:

答案 0 :(得分:5)

从错误消息的第一行开始。它显示(6): error C2059: syntax error : '%',这意味着第6行有与%相关的错误。

请看第6行(第一行scanf()行。是的,它在变量名称之前有一个%,这是无效的C.删除它。

现在重新编译以删除与第一个相关的任何杂散错误,并以相同的方式查看剩余错误。

答案 1 :(得分:2)

您遗失了一些"并且有一些不必要的%

答案 2 :(得分:1)

你错过了一个公开引用(“)

scanf("%f", &tid2);
printf("Genomsnittlig tid: %f\n", (tid1+tid2)/2);

使用&amp;不是这一行中的%

scanf("%f", &tid1);

答案 3 :(得分:1)

scanf("%f", %tid1);您打算输入scanf("%f", &tid1);

答案 4 :(得分:0)

基本上,你的标点符号在很多地方搞砸了,导致很多语法错误。

我会指出第一对夫妇,但我不打算追捕每一个错字。

在第6行,您有%tid1作为表达式,这是无效的。你可能意味着&tid1

在第8行,你缺少函数第一个参数的开始引号。第10行也是如此。

等等。

阅读错误消息并逐个解决。

答案 5 :(得分:-1)

scanf(%f", &tid2);

printf(Genomsnittlig tid: %f\n", (tid1+tid2)/2);

缺少第一个引号。改为:

printf("Genomsnittlig tid: %f\n", (tid1+tid2)/2);

scanf("%f", &tid2);