C - 传递 'puts' 的参数 1 使指针从整数不带强制转换


struct{
char nome[30],rua [50],bairro [20],cidade [30],se [3] ;
int na, exc, numero;
long int CEP;
}typedef endereco;
main(){
       endereco agenda[20];
       int i, j, opc, opc1=0, opc2, eopc ;
       char pnome[30], pbairro[20], pcidade[30], enome[30];
while (opc!=4){
       system("cls");
       printf("Agenda facs, digite a opção: n|t1-incluirt|n|t2-Consultart|n|t3-excluirt|n|t4-sairt |nDigite a opção ");
       scanf("%d",&opc);
       fflush(stdin);
       switch (opc){
                    case 1:
                         system("cls");
                         printf("Digite os Dados a seguir para incluir no # %d :n",opc1+1);
                         agenda[opc1].na=opc1+1;
                         agenda[opc1].exc=0;
                         printf("Digite o nome: ");
                         gets(agenda[opc1].nome);
                         printf("Digite a Rua: ");
                         gets(agenda[opc1].rua);                         
                         printf("Digite o Bairro: ");
                         gets(agenda[opc1].bairro);
                         printf("Digite o numero: ");
                         fflush(stdin);
                         scanf("%d",&agenda[opc1].numero);
                         fflush(stdin);                         
                         printf("Digite a Cidade: ");
                         gets(agenda[opc1].cidade); 
                         printf("Digite a Sigla do Estado: ");
                         gets(agenda[opc1].se);
                         printf("Digite o CEP: ");
                         fflush(stdin);
                         scanf("%d",&agenda[opc1].CEP);
                         fflush(stdin); 
                         opc1++;
                         break;
                    case 2:
                         system("cls");
                         printf("n|t1-Nomet|n|t2-Bairrot|n|t3-Cidadet|n|tDigite a opção ");
                         scanf("%d",&opc2);
                         printf("t|n");                                       
                         fflush(stdin);                         
                                       switch (opc2){
                                              case 1:
                                                   system("cls");
                                                   printf("Qual o nome a procurar? ");
                                                   gets(pnome);
                                                   for(i=0;i<20;i++){
                                                                     if(strcmp(pnome,agenda[i].nome)==0){
                                                                     printf("ntNumero Agenda: ");
                                                                     puts(agenda[i].na);                                                                     printf("ntNome: ");
                                                                     printf("ntNome: ");                                                                     
                                                                     puts(agenda[i].nome);
                                                                     printf("ntRua: ");
                                                                     puts(agenda[i].rua);                         
                                                                     printf("ntBairro: ");
                                                                     puts(agenda[i].bairro);
                                                                     printf("ntNumero: ");
                                                                     puts(agenda[i].numero);                         
                                                                     printf("ntCidade: ");
                                                                     puts(agenda[i].cidade); 
                                                                     printf("ntEstado: ");
                                                                     puts(agenda[i].se);
                                                                     printf("ntCEP: ");
                                                                     puts(agenda[i].CEP);
                                                                     printf("nt______________");}}
                                                   break;                  
                                              case 2:
                                                   system("cls");
                                                   printf("Qual o Bairro a procurar? ");
                                                   gets(pbairro);                                                   
                                                   for(i=0;i<20;i++){
                                                                     if(strcmp(pbairro,agenda[i].bairro)==0){
                                                                     printf("ntNumero Agenda: ");
                                                                     puts(agenda[i].na);                                                                     printf("ntNome: ");
                                                                     printf("ntNome: ");                                                                     
                                                                     puts(agenda[i].nome);
                                                                     printf("ntRua: ");
                                                                     puts(agenda[i].rua);                         
                                                                     printf("ntBairro: ");
                                                                     puts(agenda[i].bairro);
                                                                     printf("ntNumero: ");
                                                                     puts(agenda[i].numero);                         
                                                                     printf("ntCidade: ");
                                                                     puts(agenda[i].cidade); 
                                                                     printf("ntEstado: ");
                                                                     puts(agenda[i].se);
                                                                     printf("ntCEP: ");
                                                                     puts(agenda[i].CEP);
                                                                     printf("nt______________");}}
                                                   break;
                                              case 3:
                                                   system("cls");
                                                   printf("Qual a Cidade a procurar? ");
                                                   gets(pcidade);                                                   
                                                   for(i=0;i<20;i++){
                                                                     if(strcmp(pbairro,agenda[i].cidade)==0){
                                                                     printf("ntNumero Agenda: ");
                                                                     puts(agenda[i].na);                                                                  
                                                                     printf("ntNome: ");                                                                     
                                                                     puts(agenda[i].nome);
                                                                     printf("ntRua: ");
                                                                     puts(agenda[i].rua);                         
                                                                     printf("ntBairro: ");
                                                                     puts(agenda[i].bairro);
                                                                     printf("ntNumero: ");
                                                                     puts(agenda[i].numero);                         
                                                                     printf("ntCidade: ");
                                                                     puts(agenda[i].cidade); 
                                                                     printf("ntEstado: ");
                                                                     puts(agenda[i].se);
                                                                     printf("ntCEP: ");
                                                                     puts(agenda[i].CEP);
                                                                     printf("nt______________");}}
                                                   break;}
                    case 3:
                         system("cls");
                         printf("Digite o Numero da Agenda que deseja excluir");
                         gets(enome);
                         for(i=0;i<20;i++){
                                           if(strcmp(enome,agenda[i].nome)==0){
                                           printf("ntNumero Agenda: ");
                                           puts(agenda[i].na);                                                                     
                                           printf("ntNome: ");                                                                     
                                           puts(agenda[i].nome);
                                           printf("ntRua: ");
                                           puts(agenda[i].rua);                         
                                           printf("ntBairro: ");
                                           puts(agenda[i].bairro);
                                           printf("ntNumero: ");
                                           puts(agenda[i].numero);                         
                                           printf("ntCidade: ");
                                           puts(agenda[i].cidade); 
                                           printf("ntEstado: ");
                                           puts(agenda[i].se);
                                           printf("ntCEP: ");
                                           puts(agenda[i].CEP);
                                           printf("nt______________");}}
                         printf("ntDigite o Numero Agenda do Nome na qual voce quer excluir: ");
                         fflush(stdin); 
                         scanf("%d",&i);
                         fflush(stdin);
                         if(agenda[i].exc==0){
                                              printf("nt%d . %s ntDeseja excluir esse contato?nt1-Simnt2-NaontOpcao: ",agenda[i].na,agenda[i].nome);
                                              fflush(stdin);
                                              scanf("%d",&eopc);
                                              fflush(stdin);
                                              switch (eopc){
                                                     case 1:
                                                          agenda[i].exc=1;
                                                          printf("tnNumero excluido !");
                                                          break;
                                                     case 2:
                                                          printf("tnNumero nao excluido !");
                                                          break;}}}}

  system("PAUSE");  
  return 0;
}

你好:D该程序是构建的,或试图成为可以保存联系人的笔记本。但是我收到此警告,当"看跌"进入程序时,它会崩溃。有人可以帮忙吗?

[警告] 传递 'puts' 的参数 1 会使指针从整数中没有 投

谢谢。

puts(agenda[i].na);

在您的代码中,agenda[i].na是一个int。您无法用puts打印,请尝试printf

printf("%dn", agenda[i].na);

当"看跌"进入程序时,它会崩溃。

您正在诱骗puts使用随机整数作为指针。

最新更新