在C中无法识别字符串

时间:2018-11-05 15:14:01

标签: c

这是我的代码,无论我在哪里使用字符串,都说未知类型名称。我试图包括但仍无法正常工作。我不明白这里正在发生什么。任何帮助将不胜感激。

#include<stdio.h>
#include<conio.h>
string  getname(string);
int getclass(int);
float calculation(int);
int main()
{
    string str2=getname();
    printf("name of student is %s \n",str2);
    int b=getclass(b);
    printf("class = %d \n",b);
//  float per=calculation(/*marks kithy ny??*/);
//  printf("percentage = %f \n",per);
    getch();
    return 0;

}
string getname(string str /* str likhdy nay ithy variable da nam sirf is nal coma nhi landay */)
{
    printf("enter the name of student \n");
    scanf("%s",&str);
    return str;
}
int getclass(int a)
{
    printf("enter the class \n");
    scanf("%d",&a);
    return a;
}
float calculation(int marks)
{
    printf("enter the marks \n");
    scanf("%d",&marks);
    int per=marks*100/550;
    return per;
}

1 个答案:

答案 0 :(得分:3)

string不是C类型。将功能参数string替换为char *

char* getname(char*);

由于数组在C中作为指针传递,因此可以使用。并使用char数组存储字符串值。

char str2[10];
getname(str2);

最后一件事,不要在带有指针的scanf中使用&运算符。使用:

scanf("%s", str);