错误:程序输出显示ascii字符
我的程序的输出似乎有问题,当我选择选项1时,它可以很好地询问我想在数据包中添加什么数据,我输入数字,因为我应该,但除了数据变量输出,它输出奇怪的ASCII字符,而不是我原来输入的数字,所以任何帮助将不胜感激谢谢错误:程序输出显示ascii字符,c,structure,C,Structure,我的程序的输出似乎有问题,当我选择选项1时,它可以很好地询问我想在数据包中添加什么数据,我输入数字,因为我应该,但除了数据变量输出,它输出奇怪的ASCII字符,而不是我原来输入的数字,所以任何帮助将不胜感激谢谢 #include <stdio.h> #include <stdlib.h> struct packet{ int source[4]; int destination[4]; int type[4]; int port[4];
#include <stdio.h>
#include <stdlib.h>
struct packet{
int source[4];
int destination[4];
int type[4];
int port[4];
char data[50];
};
void main ()
{
struct packet s[50]; //Array for structure input
int choice;
int customerCount = 0, ii = 0;
while (customerCount <= 50){
printf("What would you like to do?\n");
printf("\t1) Add a packet.\n");
printf("\t2) s all packets.\n");
printf("\t3) Save packets.\n");
printf("\t4) Clear all packets.\n");
printf("\t5) Quit the programme.\n");
scanf("%i", &choice);
switch (choice)
{
case 1: printf("\n****Adding a packet*****\n");
printf("Where is the packet from?\n");
scanf("%i", &s[customerCount].source);
printf("Where is the packet going?\n");
scanf("%i", &s[customerCount].destination);
printf("What type is the packet?\n");
scanf("%i", &s[customerCount].type);
printf("What is the packet's port?\n");
scanf("%i", &s[customerCount].port);
printf("Enter up to 50 characters of data.\n");
scanf("%s", s[customerCount].data);
customerCount++;
break;
case 2: printf("\nDisplaying Infomation\n");
for(ii = 0; ii < customerCount; ii++) {
printf("\nSource: %s", s[ii].source);
printf("\nDestination: %s", s[ii].source);
printf("\nType : %s", s[ii].type);
printf("\nPort : %s", s[ii].port);
printf("\nData: %s\n---\n", s[ii].data);
}
break;
case 3: break;
case 4: break;
case 5: break;
default: printf("\nThis is not a valid choice, please choose again\n\n");
break;
}
}
}
#包括
#包括
结构包{
int源[4];
int目的地[4];
int型[4];
int端口[4];
字符数据[50];
};
空干管()
{
结构数据包s[50];//用于结构输入的数组
智力选择;
int customerCount=0,ii=0;
while(customerCount您正在将输入添加到结构的int
数组,就像它们是单个int
一样,并将它们打印为字符串。将int
数组设置为单个int
s,并使用%i
作为printf
格式说明符打印它们
struct packet
{
int source;
int destination;
int type;
int port;
char data[50];
};
case 2:
printf("\nDisplaying Infomation\n");
for(ii = 0; ii < customerCount; ii++)
{
printf("\nSource: %i", s[ii].source);
printf("\nDestination: %i", s[ii].source);
printf("\nType : %i", s[ii].type);
printf("\nPort : %i", s[ii].port);
printf("\nData: %s\n---\n", s[ii].data);
}
break;
struct数据包
{
int源;
int目的地;
int型;
国际港口;
字符数据[50];
};
案例2:
printf(“\n显示信息\n”);
对于(ii=0;ii
为什么前四个字段中有4个int
s的数组?