Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > найти наименьший символ


Автор: Kronit 16.12.2006, 22:58
Ничего не пойму...почему это не работает??  (символы вводятся через запятую)
Код

#include <stdio.h>
#include<string.h>
#include<stdlib.h>
void main(){
    char a[1000];
    char *p;
    int l=1000,n,f;
    printf ("enter numbers:");
    scanf ("%s",&a);

p = strtok(a,",");
f=atoi(p);
while(p)
{
   p = strtok(NULL,",");
   n=atoi(p); 
   if (n<l) l=n;     
 }
 
if (f>l) printf("%d",l);
else {if (f<l) printf("%d",f);
      else printf("%d",f);}    

}


причем выдает 0 ошибок и 0 предупреждений, а во время выполнения ругается(что-то обратолось не потому адресу и память там не может быть прочитанной)
как исправить?

Автор: apook 16.12.2006, 23:20

Код

p = strtok(a,","); 
f=atoi(p);
while(p)
{
   p = strtok(NULL,","); <----- 
   n=atoi(p); 
   if (n<l) l=n;     
 }

Код

p = strtok( a, "," );
f=atoi(p);

while(p)
{
    n =atoi( p ); 
    if( n <l ) l=n; 
    p = strtok( NULL, "," );  <----
    }


Автор: Kronit 16.12.2006, 23:25
спасибо....оказ так тривиально исправлялось

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)