【发布时间】:2016-10-28 05:15:12
【问题描述】:
定义一个包含三个成员的结构(结构),一个是浮点数,一个是字符串,一个是浮点数的短数组。在同一行,printf 浮点数、字符串和数组的第一个元素,中间有空格。 所以我试图打印一个浮点数、一个字符串和一个浮点数数组。我不断收到错误,此时我只是脑死亡。这是我的代码。
#include <stdio.h>
#include <string.h>
struct Structure {
float b;
char c ;
float arr[4];
};
int main (int argc, char *argv[])
{
int x[4] = {3,5,6,7};
int i;
printf("This is the argument count -> %d\n",argc);
printf("This is argv[0] %s\n",argv[0]);
printf("This is argv[1] %s\n",argv[1]);
for( i = 0; i<=3; i= i + 1)
{
printf("%d ",x[i]);
}
printf("\n");
int var = 20; // actual variable declaration
int *ip; // pointer variable declaration
ip = &var;
printf("Address of var variable: %p\n", &var );
printf("Value of *ip variable: %d\n", *ip );
/*char izard[]="trump";
char *ch;
ch = &izard;
printf("Address of var variable: %p\n", &izard );
printf("Value of *ip variable: %c\n", &izard[4] );
*/
struct Structure structure1;
structure1.b = 45.4;
strcpy( structure1.c, "Charizard");
strcpy( structure1.arr, "dog");
printf("integer : %c/n", structure1.c);
//printstructure( &structure1);
return 0;
}
/*void printstructure(struct Structure *name){
printf( "int : %d\n", name->a);
printf( "int : %f\n", name->b);
printf( "int : %c\n", name->c);
}*/
【问题讨论】:
-
你快到了。一个错误:c 成员应该是 char 数组而不是 char。可能还有其他错误,例如将字符串复制到浮点数组,但编译器是您的朋友,可以帮助您找到它们。我几乎总是使用的一些 gcc 选项是:gcc -Wall -Wextra -pedantic -std=gnu99 -Wwrite-strings。当我进入 nitpick 模式时,我添加 -Wconversion 只是为了它。 ;)
标签: c